diff --git a/packages/react-native/ReactCommon/jsi/jsi/hermes-interfaces.h b/packages/react-native/ReactCommon/jsi/jsi/hermes-interfaces.h index e224e95a8e4..4655aa8ce0c 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 f16ca8aab07..eefd72a7564 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 d4424d8efd1..28e0d6e0a38 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 913210b8751..46b71e3e4ad 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 3d69952ee8e..9ff8dcb229e 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 15f5fc7ddc1..7de39e2e86d 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 0b2305d264f..f1e8fb0dd9b 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 7a71384483a..2ca39277713 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 3d680418ec1..6f08190e5e4 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 5905c2c857a..28af4addc62 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[];