1 #include "Scheduler.h" 2 3 namespace reanimated 4 { 5 6 void Scheduler::scheduleOnUI(std::function<void()> job) { 7 uiJobs.push(std::move(job)); 8 } 9 10 void Scheduler::scheduleOnJS(std::function<void()> job) { 11 jsCallInvoker_->invokeAsync(std::move(job)); 12 } 13 14 void Scheduler::triggerUI() { 15 auto job = uiJobs.pop(); 16 job(); 17 } 18 19 void Scheduler::setJSCallInvoker(std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker) { 20 jsCallInvoker_ = jsCallInvoker; 21 } 22 23 void Scheduler::setModule(std::shared_ptr<NativeReanimatedModule> module) { 24 this->module = module; 25 } 26 27 Scheduler::~Scheduler() {} 28 29 } 30