/* * 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 #include #include namespace facebook::react::jsinspector_modern { /** * An engine adapter for JsiIntegrationTest that uses Hermes (and Hermes's * CDP support). */ class JsiIntegrationTestHermesEngineAdapter : public RuntimeTargetDelegate { public: explicit JsiIntegrationTestHermesEngineAdapter(folly::Executor& jsExecutor); virtual std::unique_ptr createAgentDelegate( FrontendChannel frontendChannel, SessionState& sessionState, std::unique_ptr previouslyExportedState, const ExecutionContextDescription& executionContextDescription) override; jsi::Runtime& getRuntime() const noexcept; RuntimeExecutor getRuntimeExecutor() const noexcept; private: std::shared_ptr runtime_; folly::Executor& jsExecutor_; }; } // namespace facebook::react::jsinspector_modern