2022-06-30 06:50:52 +00:00
|
|
|
#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(
|
2022-09-17 00:33:45 +00:00
|
|
|
const std::string name,
|
|
|
|
const std::shared_ptr<CallInvoker> jsInvoker) {
|
2022-06-30 06:50:52 +00:00
|
|
|
// Not implemented yet: provide pure-C++ NativeModules here.
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
std::shared_ptr<TurboModule>
|
|
|
|
MainApplicationTurboModuleManagerDelegate::getTurboModule(
|
2022-09-17 00:33:45 +00:00
|
|
|
const std::string name,
|
2022-06-30 06:50:52 +00:00
|
|
|
const JavaTurboModule::InitParams ¶ms) {
|
|
|
|
return MainApplicationModuleProvider(name, params);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule(
|
2022-09-17 00:33:45 +00:00
|
|
|
std::string name) {
|
2022-06-30 06:50:52 +00:00
|
|
|
return getTurboModule(name, nullptr) != nullptr ||
|
|
|
|
getTurboModule(name, {.moduleName = name}) != nullptr;
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace react
|
|
|
|
} // namespace facebook
|