/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #pragma once #include #include #include namespace facebook::react { class RuntimeScheduler; /* * Event beat associated with JavaScript runtime. * The beat is called on `RuntimeExecutor`'s thread induced by the UI thread * event loop. */ class AppleEventBeat : public EventBeat, public RunLoopObserver::Delegate { public: AppleEventBeat( std::shared_ptr ownerBox, std::unique_ptr uiRunLoopObserver, RuntimeScheduler& RuntimeScheduler); #pragma mark - RunLoopObserver::Delegate void activityDidChange( const RunLoopObserver::Delegate* delegate, RunLoopObserver::Activity activity) const noexcept override; private: std::unique_ptr uiRunLoopObserver_; }; } // namespace facebook::react