/*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
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;