feat: Replace *NativeMap and *NativeArray with Map<K,V> and List<T> for faster JSI -> JNI calls (#1720)
Replaces `ReadableNativeMap`/`WritableNativeMap` with `Map<String, Object>` and `ReadableNativeArray`/`WritableNativeArray` with `List<Object>`, making the JSI -> JNI conversion a bit faster and more logical. Also, we could now convert Array Buffers or HostObjects if we wanted to.
This commit is contained in:
@@ -24,18 +24,19 @@ add_library(
|
||||
${PACKAGE_NAME}
|
||||
SHARED
|
||||
../cpp/JSITypedArray.cpp
|
||||
src/main/cpp/FrameHostObject.cpp
|
||||
src/main/cpp/FrameProcessorPluginHostObject.cpp
|
||||
src/main/cpp/JSIJNIConversion.cpp
|
||||
src/main/cpp/VisionCamera.cpp
|
||||
src/main/cpp/VisionCameraProxy.cpp
|
||||
# Frame Processor
|
||||
src/main/cpp/frameprocessor/FrameHostObject.cpp
|
||||
src/main/cpp/frameprocessor/FrameProcessorPluginHostObject.cpp
|
||||
src/main/cpp/frameprocessor/JSIJNIConversion.cpp
|
||||
src/main/cpp/frameprocessor/VisionCameraProxy.cpp
|
||||
src/main/cpp/frameprocessor/java-bindings/JFrame.cpp
|
||||
src/main/cpp/frameprocessor/java-bindings/JFrameProcessor.cpp
|
||||
src/main/cpp/frameprocessor/java-bindings/JFrameProcessorPlugin.cpp
|
||||
src/main/cpp/frameprocessor/java-bindings/JVisionCameraProxy.cpp
|
||||
src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp
|
||||
# Skia Frame Processor
|
||||
src/main/cpp/skia/SkiaRenderer.cpp
|
||||
src/main/cpp/java-bindings/JFrame.cpp
|
||||
src/main/cpp/java-bindings/JFrameProcessor.cpp
|
||||
src/main/cpp/java-bindings/JFrameProcessorPlugin.cpp
|
||||
src/main/cpp/java-bindings/JHashMap.cpp
|
||||
src/main/cpp/java-bindings/JVisionCameraProxy.cpp
|
||||
src/main/cpp/java-bindings/JVisionCameraScheduler.cpp
|
||||
)
|
||||
|
||||
# Header Search Paths (includes)
|
||||
@@ -44,6 +45,9 @@ target_include_directories(
|
||||
PRIVATE
|
||||
"../cpp"
|
||||
"src/main/cpp"
|
||||
"src/main/cpp/frameprocessor"
|
||||
"src/main/cpp/frameprocessor/java-bindings"
|
||||
"src/main/cpp/skia"
|
||||
"${NODE_MODULES_DIR}/react-native/ReactCommon"
|
||||
"${NODE_MODULES_DIR}/react-native/ReactCommon/callinvoker"
|
||||
"${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/jni/react/turbomodule" # <-- CallInvokerHolder JNI wrapper
|
||||
|
||||
Reference in New Issue
Block a user