diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-06-07 17:50:05 -0500 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-06-07 17:50:05 -0500 |
commit | 47250e7ed7d608e499ae8f3ec99494269db30292 (patch) | |
tree | af6b1bacba4b8e56149505f49a4022a92e7025aa /android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp | |
download | voidsky-47250e7ed7d608e499ae8f3ec99494269db30292.tar.zst |
Initial commit
Diffstat (limited to 'android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp')
-rw-r--r-- | android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp new file mode 100644 index 000000000..dbbdc3d13 --- /dev/null +++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp @@ -0,0 +1,45 @@ +#include "MainApplicationTurboModuleManagerDelegate.h" +#include "MainApplicationModuleProvider.h" + +namespace facebook { +namespace react { + +jni::local_ref<MainApplicationTurboModuleManagerDelegate::jhybriddata> +MainApplicationTurboModuleManagerDelegate::initHybrid( + jni::alias_ref<jhybridobject>) { + return makeCxxInstance(); +} + +void MainApplicationTurboModuleManagerDelegate::registerNatives() { + registerHybrid({ + makeNativeMethod( + "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid), + makeNativeMethod( + "canCreateTurboModule", + MainApplicationTurboModuleManagerDelegate::canCreateTurboModule), + }); +} + +std::shared_ptr<TurboModule> +MainApplicationTurboModuleManagerDelegate::getTurboModule( + const std::string name, + const std::shared_ptr<CallInvoker> jsInvoker) { + // Not implemented yet: provide pure-C++ NativeModules here. + return nullptr; +} + +std::shared_ptr<TurboModule> +MainApplicationTurboModuleManagerDelegate::getTurboModule( + const std::string name, + const JavaTurboModule::InitParams ¶ms) { + return MainApplicationModuleProvider(name, params); +} + +bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( + std::string name) { + return getTurboModule(name, nullptr) != nullptr || + getTurboModule(name, {.moduleName = name}) != nullptr; +} + +} // namespace react +} // namespace facebook |