/* * 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. */ #import #import #import #import #import #import namespace facebook::react { using CrashManagerProvider = std::function()>; // ObjC++ wrapper for HermesInstance.cpp class RCTHermesInstance : public JSRuntimeFactory { public: RCTHermesInstance(); RCTHermesInstance(CrashManagerProvider crashManagerProvider); RCTHermesInstance( CrashManagerProvider crashManagerProvider, bool allocInOldGenBeforeTTI); std::unique_ptr createJSRuntime( std::shared_ptr msgQueueThread) noexcept override; ~RCTHermesInstance() override{}; private: CrashManagerProvider _crashManagerProvider; std::unique_ptr _hermesInstance; bool _allocInOldGenBeforeTTI; }; } // namespace facebook::react