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