return future;
}
- static void scheduleRefreshNewVersion(Core::Ptr core) {
- if (core->getVersion() == 0) {
- scheduleRefresh(std::move(core), 1).get();
- return;
- }
-
+ static void scheduleRefreshNewVersion(Core::WeakPtr coreWeak) {
auto instance = getInstance();
if (!instance) {
return;
}
- instance->scheduleNext(std::move(core));
+ instance->scheduleNext(std::move(coreWeak));
+ }
+
+ static void initCore(Core::Ptr core) {
+ DCHECK(core->getVersion() == 0);
+ scheduleRefresh(std::move(core), 1).get();
}
class DependencyRecorder {
struct Singleton;
void scheduleCurrent(Function<void()>);
- void scheduleNext(Core::Ptr);
+ void scheduleNext(Core::WeakPtr);
class CurrentQueue;
class NextQueue;