Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
package com.facebook.react

import com.facebook.jni.HybridData
import com.facebook.react.bridge.CxxModuleWrapper
import com.facebook.react.bridge.ModuleSpec
import com.facebook.react.bridge.NativeModule
import com.facebook.react.bridge.ReactApplicationContext
Expand Down Expand Up @@ -103,7 +102,7 @@ public abstract class ReactPackageTurboModuleManagerDelegate : TurboModuleManage
moduleClass.name,
reactModule.canOverrideExistingModule,
true,
reactModule.isCxxModule,
false,
ReactModuleInfo.classIsTurboModule(moduleClass),
)
else
Expand All @@ -112,7 +111,7 @@ public abstract class ReactPackageTurboModuleManagerDelegate : TurboModuleManage
moduleClass.name,
module.canOverrideExistingModule(),
true,
CxxModuleWrapper::class.java.isAssignableFrom(moduleClass),
false,
ReactModuleInfo.classIsTurboModule(moduleClass),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,6 @@ private CatalystInstanceImpl(
mReactQueueConfiguration.getJSQueueThread(),
mNativeModulesQueueThread,
mNativeModuleRegistry.getJavaModules(this),
mNativeModuleRegistry.getCxxModules(),
mInspectorTarget);
FLog.d(ReactConstants.TAG, "Initializing React Xplat Bridge after initializeBridge");
Systrace.endSection(TRACE_TAG_REACT);
Expand Down Expand Up @@ -212,21 +211,18 @@ public void extendNativeModules(NativeModuleRegistry modules) {
// Extend the Java-visible registry of modules
mNativeModuleRegistry.registerModules(modules);
Collection<JavaModuleWrapper> javaModules = modules.getJavaModules(this);
Collection<ModuleHolder> cxxModules = modules.getCxxModules();
// Extend the Cxx-visible registry of modules wrapped in appropriate interfaces
jniExtendNativeModules(javaModules, cxxModules);
jniExtendNativeModules(javaModules);
}

private native void jniExtendNativeModules(
Collection<JavaModuleWrapper> javaModules, Collection<ModuleHolder> cxxModules);
private native void jniExtendNativeModules(Collection<JavaModuleWrapper> javaModules);

private native void initializeBridge(
InstanceCallback callback,
JavaScriptExecutor jsExecutor,
MessageQueueThread jsQueue,
MessageQueueThread moduleQueue,
Collection<JavaModuleWrapper> javaModules,
Collection<ModuleHolder> cxxModules,
@Nullable ReactInstanceManagerInspectorTarget inspectorTarget);

@Override
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public class ModuleHolder {
nativeModule.javaClass.simpleName,
nativeModule.canOverrideExistingModule(),
true,
CxxModuleWrapper::class.java.isAssignableFrom(nativeModule.javaClass),
false,
ReactModuleInfo.classIsTurboModule(nativeModule.javaClass),
)

Expand Down Expand Up @@ -108,7 +108,7 @@ public class ModuleHolder {
get() = reactModuleInfo.isTurboModule

public val isCxxModule: Boolean
get() = reactModuleInfo.isCxxModule
get() = false

public val className: String
get() = reactModuleInfo.className
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,25 +36,10 @@ public class NativeModuleRegistry(
@JvmName("getJavaModules") // This is needed because this method is accessed by JNI
internal fun getJavaModules(jsInstance: JSInstance): List<JavaModuleWrapper> = buildList {
for ((_, value) in modules) {
if (!value.isCxxModule) {
add(JavaModuleWrapper(jsInstance, value))
}
add(JavaModuleWrapper(jsInstance, value))
}
}

@get:JvmName(
"getCxxModules"
) // This is needed till there are Java Consumer of this API inside React
// Native
internal val cxxModules: List<ModuleHolder>
get() = buildList {
for ((_, value) in modules) {
if (value.isCxxModule) {
add(value)
}
}
}

/** Adds any new modules to the current module registry */
@JvmName(
"registerModules"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import androidx.annotation.GuardedBy
import com.facebook.common.logging.FLog
import com.facebook.jni.HybridData
import com.facebook.proguard.annotations.DoNotStrip
import com.facebook.react.bridge.CxxModuleWrapper
import com.facebook.react.bridge.NativeModule
import com.facebook.react.bridge.RuntimeExecutor
import com.facebook.react.common.annotations.FrameworkAPI
Expand Down Expand Up @@ -110,39 +109,7 @@ public class TurboModuleManager(
}

val module = getModule(moduleName)
return if (module !is CxxModuleWrapper && module !is TurboModule) module else null
}

// used from TurboModuleManager.cpp
@Suppress("unused")
@DoNotStrip
private fun getLegacyCxxModule(moduleName: String): CxxModuleWrapper? {
/*
* This API is invoked from global.nativeModuleProxy.
* Only call getModule if the native module is a legacy module.
*/
if (!isLegacyModule(moduleName)) {
return null
}

val module = getModule(moduleName)
return if (module is CxxModuleWrapper && module !is TurboModule) module else null
}

// used from TurboModuleManager.cpp
@Suppress("unused")
@DoNotStrip
private fun getTurboLegacyCxxModule(moduleName: String): CxxModuleWrapper? {
/*
* This API is invoked from global.__turboModuleProxy.
* Only call getModule if the native module is a turbo module.
*/
if (!isTurboModule(moduleName)) {
return null
}

val module = getModule(moduleName)
return if (module is CxxModuleWrapper && module is TurboModule) module else null
return if (module !is TurboModule) module else null
}

// used from TurboModuleManager.cpp
Expand All @@ -158,7 +125,7 @@ public class TurboModuleManager(
}

val module = getModule(moduleName)
return if (module !is CxxModuleWrapper && module is TurboModule) module else null
return if (module is TurboModule) module else null
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,6 @@ void CatalystInstanceImpl::initializeBridge(
jni::alias_ref<JavaMessageQueueThread::javaobject> nativeModulesQueue,
jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject>
javaModules,
jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject>
cxxModules,
jni::alias_ref<ReactInstanceManagerInspectorTarget::javaobject>
inspectorTarget) {
set_react_native_logfunc(&log);
Expand Down Expand Up @@ -194,10 +192,7 @@ void CatalystInstanceImpl::initializeBridge(
// stack.

moduleRegistry_ = std::make_shared<ModuleRegistry>(buildNativeModuleList(
std::weak_ptr<Instance>(instance_),
javaModules,
cxxModules,
moduleMessageQueue_));
std::weak_ptr<Instance>(instance_), javaModules, moduleMessageQueue_));

instance_->initializeBridge(
std::make_unique<InstanceCallbackImpl>(callback),
Expand All @@ -211,14 +206,9 @@ void CatalystInstanceImpl::initializeBridge(

void CatalystInstanceImpl::extendNativeModules(
jni::alias_ref<jni::JCollection<JavaModuleWrapper::javaobject>::javaobject>
javaModules,
jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject>
cxxModules) {
javaModules) {
moduleRegistry_->registerModules(buildNativeModuleList(
std::weak_ptr<Instance>(instance_),
javaModules,
cxxModules,
moduleMessageQueue_));
std::weak_ptr<Instance>(instance_), javaModules, moduleMessageQueue_));
}

void CatalystInstanceImpl::jniSetSourceURL(const std::string& sourceURL) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,13 @@ class [[deprecated(
jni::alias_ref<
jni::JCollection<JavaModuleWrapper::javaobject>::javaobject>
javaModules,
jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject>
cxxModules,
jni::alias_ref<ReactInstanceManagerInspectorTarget::javaobject>
inspectorTarget);

void extendNativeModules(
jni::alias_ref<jni::JCollection<
JavaModuleWrapper::javaobject>::javaobject> javaModules,
jni::alias_ref<jni::JCollection<ModuleHolder::javaobject>::javaobject>
cxxModules);
jni::alias_ref<
jni::JCollection<JavaModuleWrapper::javaobject>::javaobject>
javaModules);

/**
* Sets the source URL of the underlying bridge without loading any JS code.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@

#pragma once

#include <memory>
#include <string>

#include <cxxreact/CxxModule.h>
#include <fbjni/fbjni.h>

namespace facebook::react {
Expand All @@ -20,26 +16,4 @@ struct JNativeModule : jni::JavaClass<JNativeModule> {
"Lcom/facebook/react/bridge/NativeModule;";
};

/**
* The C++ part of a CxxModuleWrapper is not a unique class, but it
* must extend this base class.
*/
class CxxModuleWrapperBase
: public jni::HybridClass<CxxModuleWrapperBase, JNativeModule> {
public:
constexpr static const char* const kJavaDescriptor =
"Lcom/facebook/react/bridge/CxxModuleWrapperBase;";

static void registerNatives() {
registerHybrid(
{makeNativeMethod("getName", CxxModuleWrapperBase::getName)});
}

// JNI method
virtual std::string getName() = 0;

// Called by ModuleRegistryBuilder
virtual std::unique_ptr<xplat::module::CxxModule> getModule() = 0;
};

} // namespace facebook::react
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

#include <glog/logging.h>

#include <cxxreact/CxxModule.h>
#include <cxxreact/CxxNativeModule.h>
#include <cxxreact/Instance.h>
#include <cxxreact/JsArgumentHelpers.h>
Expand Down
Loading
Loading