about summary refs log tree commit diff
path: root/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2022-06-07 17:50:05 -0500
committerPaul Frazee <pfrazee@gmail.com>2022-06-07 17:50:05 -0500
commit47250e7ed7d608e499ae8f3ec99494269db30292 (patch)
treeaf6b1bacba4b8e56149505f49a4022a92e7025aa /android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
downloadvoidsky-47250e7ed7d608e499ae8f3ec99494269db30292.tar.zst
Initial commit
Diffstat (limited to 'android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h')
-rw-r--r--android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
new file mode 100644
index 000000000..f9b1e8ae7
--- /dev/null
+++ b/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
@@ -0,0 +1,38 @@
+#include <memory>
+#include <string>
+
+#include <ReactCommon/TurboModuleManagerDelegate.h>
+#include <fbjni/fbjni.h>
+
+namespace facebook {
+namespace react {
+
+class MainApplicationTurboModuleManagerDelegate
+    : public jni::HybridClass<
+          MainApplicationTurboModuleManagerDelegate,
+          TurboModuleManagerDelegate> {
+ public:
+  // Adapt it to the package you used for your Java class.
+  static constexpr auto kJavaDescriptor =
+      "Lcom/app/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;";
+
+  static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject>);
+
+  static void registerNatives();
+
+  std::shared_ptr<TurboModule> getTurboModule(
+      const std::string name,
+      const std::shared_ptr<CallInvoker> jsInvoker) override;
+  std::shared_ptr<TurboModule> getTurboModule(
+      const std::string name,
+      const JavaTurboModule::InitParams &params) override;
+
+  /**
+   * Test-only method. Allows user to verify whether a TurboModule can be
+   * created by instances of this class.
+   */
+  bool canCreateTurboModule(std::string name);
+};
+
+} // namespace react
+} // namespace facebook