diff --git a/packages/react-native/ReactCommon/jsi/jsi/hermes-interfaces.h b/packages/react-native/ReactCommon/jsi/jsi/hermes-interfaces.h index e224e95a8e48..4655aa8ce0cd 100644 --- a/packages/react-native/ReactCommon/jsi/jsi/hermes-interfaces.h +++ b/packages/react-native/ReactCommon/jsi/jsi/hermes-interfaces.h @@ -26,7 +26,6 @@ namespace debugger { class Debugger; } -#ifdef JSI_UNSTABLE /// IEventLoopControl is defined by the integrator to allow the Runtime to /// schedule some task to be run when convenient, and to keep track of "Task /// sources". After it is set to a Runtime, the integrator must ensure that the @@ -79,7 +78,6 @@ struct JSI_EXPORT ISetEventLoopControl : public jsi::ICast { protected: ~ISetEventLoopControl() = default; }; -#endif /// Interface for Hermes-specific runtime methods.The actual implementations of /// the pure virtual methods are provided by Hermes API. diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api index f16ca8aab075..eefd72a75641 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -438,6 +438,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; const char facebook::react::AndroidProgressBarComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api index d4424d8efd10..28e0d6e0a386 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api @@ -438,6 +438,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; const char facebook::react::AndroidProgressBarComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api index 913210b87516..46b71e3e4ad4 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -438,6 +438,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; const char facebook::react::AndroidProgressBarComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api index 3d69952ee8e7..9ff8dcb229e6 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -3380,6 +3380,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AppleSwitchComponentName[]; const char facebook::react::ImageComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api index 15f5fc7ddc19..7de39e2e86d2 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api @@ -3367,6 +3367,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AppleSwitchComponentName[]; const char facebook::react::ImageComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api index 0b2305d264f4..f1e8fb0dd9b0 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -3380,6 +3380,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AppleSwitchComponentName[]; const char facebook::react::ImageComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api index 7a71384483aa..2ca392777132 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api @@ -136,6 +136,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AndroidProgressBarComponentName[]; const char facebook::react::AndroidSwitchComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api index 3d680418ec12..6f08190e5e4f 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api @@ -136,6 +136,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AndroidProgressBarComponentName[]; const char facebook::react::AndroidSwitchComponentName[]; diff --git a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api index 5905c2c857ad..28af4addc62d 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api @@ -136,6 +136,20 @@ class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { public virtual SHUnitCreator getSHUnitCreator() const = 0; } +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + const char facebook::react::AndroidProgressBarComponentName[]; const char facebook::react::AndroidSwitchComponentName[];