1*753557f6STomasz Sapeta #include "Scheduler.h" 2*753557f6STomasz Sapeta 3*753557f6STomasz Sapeta namespace ABI47_0_0reanimated { 4*753557f6STomasz Sapeta scheduleOnUI(std::function<void ()> job)5*753557f6STomasz Sapetavoid Scheduler::scheduleOnUI(std::function<void()> job) { 6*753557f6STomasz Sapeta uiJobs.push(std::move(job)); 7*753557f6STomasz Sapeta } 8*753557f6STomasz Sapeta scheduleOnJS(std::function<void ()> job)9*753557f6STomasz Sapetavoid Scheduler::scheduleOnJS(std::function<void()> job) { 10*753557f6STomasz Sapeta jsCallInvoker_->invokeAsync(std::move(job)); 11*753557f6STomasz Sapeta } 12*753557f6STomasz Sapeta triggerUI()13*753557f6STomasz Sapetavoid Scheduler::triggerUI() { 14*753557f6STomasz Sapeta scheduledOnUI = false; 15*753557f6STomasz Sapeta while (uiJobs.getSize()) { 16*753557f6STomasz Sapeta auto job = uiJobs.pop(); 17*753557f6STomasz Sapeta job(); 18*753557f6STomasz Sapeta } 19*753557f6STomasz Sapeta } 20*753557f6STomasz Sapeta setJSCallInvoker(std::shared_ptr<ABI47_0_0facebook::ABI47_0_0React::CallInvoker> jsCallInvoker)21*753557f6STomasz Sapetavoid Scheduler::setJSCallInvoker( 22*753557f6STomasz Sapeta std::shared_ptr<ABI47_0_0facebook::ABI47_0_0React::CallInvoker> jsCallInvoker) { 23*753557f6STomasz Sapeta jsCallInvoker_ = jsCallInvoker; 24*753557f6STomasz Sapeta } 25*753557f6STomasz Sapeta setRuntimeManager(std::shared_ptr<RuntimeManager> runtimeManager)26*753557f6STomasz Sapetavoid Scheduler::setRuntimeManager( 27*753557f6STomasz Sapeta std::shared_ptr<RuntimeManager> runtimeManager) { 28*753557f6STomasz Sapeta this->runtimeManager = runtimeManager; 29*753557f6STomasz Sapeta } 30*753557f6STomasz Sapeta ~Scheduler()31*753557f6STomasz SapetaScheduler::~Scheduler() {} 32*753557f6STomasz Sapeta Scheduler()33*753557f6STomasz SapetaScheduler::Scheduler() { 34*753557f6STomasz Sapeta this->scheduledOnUI = false; 35*753557f6STomasz Sapeta } 36*753557f6STomasz Sapeta 37*753557f6STomasz Sapeta } // namespace reanimated 38