@salve-software/mako-react-native 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NitroMako.podspec +31 -0
- package/README.md +90 -0
- package/android/CMakeLists.txt +32 -0
- package/android/build.gradle +148 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +9 -0
- package/android/src/main/java/com/margelo/nitro/mako/HybridMako.kt +235 -0
- package/android/src/main/java/com/margelo/nitro/mako/MakoPackage.kt +18 -0
- package/android/src/main/java/com/margelo/nitro/mako/PerformanceMonitor.kt +260 -0
- package/ios/Bridge.h +8 -0
- package/ios/HybridMako.swift +245 -0
- package/ios/PerformanceMonitor.swift +223 -0
- package/lib/commonjs/index.js +17 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/library/client/constants.js +34 -0
- package/lib/commonjs/library/client/constants.js.map +1 -0
- package/lib/commonjs/library/client/index.js +28 -0
- package/lib/commonjs/library/client/index.js.map +1 -0
- package/lib/commonjs/library/client/mako-client.js +419 -0
- package/lib/commonjs/library/client/mako-client.js.map +1 -0
- package/lib/commonjs/library/component-handler/component-handler.js +158 -0
- package/lib/commonjs/library/component-handler/component-handler.js.map +1 -0
- package/lib/commonjs/library/component-handler/index.js +39 -0
- package/lib/commonjs/library/component-handler/index.js.map +1 -0
- package/lib/commonjs/library/component-handler/types.js +6 -0
- package/lib/commonjs/library/component-handler/types.js.map +1 -0
- package/lib/commonjs/library/component-handler/utils/index.js +26 -0
- package/lib/commonjs/library/component-handler/utils/index.js.map +1 -0
- package/lib/commonjs/library/device/device-handler.js +80 -0
- package/lib/commonjs/library/device/device-handler.js.map +1 -0
- package/lib/commonjs/library/device/index.js +9 -0
- package/lib/commonjs/library/device/index.js.map +1 -0
- package/lib/commonjs/library/device/types.js +2 -0
- package/lib/commonjs/library/device/types.js.map +1 -0
- package/lib/commonjs/library/device/utils/generate-uuid.js +14 -0
- package/lib/commonjs/library/device/utils/generate-uuid.js.map +1 -0
- package/lib/commonjs/library/index.js +156 -0
- package/lib/commonjs/library/index.js.map +1 -0
- package/lib/commonjs/library/interceptors/index.js +13 -0
- package/lib/commonjs/library/interceptors/index.js.map +1 -0
- package/lib/commonjs/library/interceptors/js-console.js +88 -0
- package/lib/commonjs/library/interceptors/js-console.js.map +1 -0
- package/lib/commonjs/library/interceptors/react-devtools.js +219 -0
- package/lib/commonjs/library/interceptors/react-devtools.js.map +1 -0
- package/lib/commonjs/library/interceptors/xhr.js +74 -0
- package/lib/commonjs/library/interceptors/xhr.js.map +1 -0
- package/lib/commonjs/library/network-handler/index.js +17 -0
- package/lib/commonjs/library/network-handler/index.js.map +1 -0
- package/lib/commonjs/library/network-handler/network-handler.js +103 -0
- package/lib/commonjs/library/network-handler/network-handler.js.map +1 -0
- package/lib/commonjs/library/network-handler/types.js +6 -0
- package/lib/commonjs/library/network-handler/types.js.map +1 -0
- package/lib/commonjs/library/network-handler/utils/generate-request-id.js +13 -0
- package/lib/commonjs/library/network-handler/utils/generate-request-id.js.map +1 -0
- package/lib/commonjs/library/network-handler/utils/index.js +41 -0
- package/lib/commonjs/library/network-handler/utils/index.js.map +1 -0
- package/lib/commonjs/library/network-handler/utils/parse-response-headers.js +26 -0
- package/lib/commonjs/library/network-handler/utils/parse-response-headers.js.map +1 -0
- package/lib/commonjs/library/network-handler/utils/read-blob-as-text.js +18 -0
- package/lib/commonjs/library/network-handler/utils/read-blob-as-text.js.map +1 -0
- package/lib/commonjs/library/network-handler/utils/response-to-string.js +35 -0
- package/lib/commonjs/library/network-handler/utils/response-to-string.js.map +1 -0
- package/lib/commonjs/library/network-handler/utils/should-ignore-url.js +13 -0
- package/lib/commonjs/library/network-handler/utils/should-ignore-url.js.map +1 -0
- package/lib/commonjs/library/performance-handler/index.js +13 -0
- package/lib/commonjs/library/performance-handler/index.js.map +1 -0
- package/lib/commonjs/library/performance-handler/performance-handler.js +94 -0
- package/lib/commonjs/library/performance-handler/performance-handler.js.map +1 -0
- package/lib/commonjs/library/performance-handler/types.js +6 -0
- package/lib/commonjs/library/performance-handler/types.js.map +1 -0
- package/lib/commonjs/library/project/index.js +15 -0
- package/lib/commonjs/library/project/index.js.map +1 -0
- package/lib/commonjs/library/project/project-handler.js +31 -0
- package/lib/commonjs/library/project/project-handler.js.map +1 -0
- package/lib/commonjs/library/types.js +2 -0
- package/lib/commonjs/library/types.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/specs/mako.nitro.js +6 -0
- package/lib/commonjs/specs/mako.nitro.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/library/client/constants.js +30 -0
- package/lib/module/library/client/constants.js.map +1 -0
- package/lib/module/library/client/index.js +6 -0
- package/lib/module/library/client/index.js.map +1 -0
- package/lib/module/library/client/mako-client.js +415 -0
- package/lib/module/library/client/mako-client.js.map +1 -0
- package/lib/module/library/component-handler/component-handler.js +153 -0
- package/lib/module/library/component-handler/component-handler.js.map +1 -0
- package/lib/module/library/component-handler/index.js +6 -0
- package/lib/module/library/component-handler/index.js.map +1 -0
- package/lib/module/library/component-handler/types.js +4 -0
- package/lib/module/library/component-handler/types.js.map +1 -0
- package/lib/module/library/component-handler/utils/index.js +21 -0
- package/lib/module/library/component-handler/utils/index.js.map +1 -0
- package/lib/module/library/device/device-handler.js +75 -0
- package/lib/module/library/device/device-handler.js.map +1 -0
- package/lib/module/library/device/index.js +5 -0
- package/lib/module/library/device/index.js.map +1 -0
- package/lib/module/library/device/types.js +2 -0
- package/lib/module/library/device/types.js.map +1 -0
- package/lib/module/library/device/utils/generate-uuid.js +10 -0
- package/lib/module/library/device/utils/generate-uuid.js.map +1 -0
- package/lib/module/library/index.js +155 -0
- package/lib/module/library/index.js.map +1 -0
- package/lib/module/library/interceptors/index.js +9 -0
- package/lib/module/library/interceptors/index.js.map +1 -0
- package/lib/module/library/interceptors/js-console.js +83 -0
- package/lib/module/library/interceptors/js-console.js.map +1 -0
- package/lib/module/library/interceptors/react-devtools.js +214 -0
- package/lib/module/library/interceptors/react-devtools.js.map +1 -0
- package/lib/module/library/interceptors/xhr.js +69 -0
- package/lib/module/library/interceptors/xhr.js.map +1 -0
- package/lib/module/library/network-handler/index.js +4 -0
- package/lib/module/library/network-handler/index.js.map +1 -0
- package/lib/module/library/network-handler/network-handler.js +98 -0
- package/lib/module/library/network-handler/network-handler.js.map +1 -0
- package/lib/module/library/network-handler/types.js +4 -0
- package/lib/module/library/network-handler/types.js.map +1 -0
- package/lib/module/library/network-handler/utils/generate-request-id.js +9 -0
- package/lib/module/library/network-handler/utils/generate-request-id.js.map +1 -0
- package/lib/module/library/network-handler/utils/index.js +8 -0
- package/lib/module/library/network-handler/utils/index.js.map +1 -0
- package/lib/module/library/network-handler/utils/parse-response-headers.js +22 -0
- package/lib/module/library/network-handler/utils/parse-response-headers.js.map +1 -0
- package/lib/module/library/network-handler/utils/read-blob-as-text.js +14 -0
- package/lib/module/library/network-handler/utils/read-blob-as-text.js.map +1 -0
- package/lib/module/library/network-handler/utils/response-to-string.js +31 -0
- package/lib/module/library/network-handler/utils/response-to-string.js.map +1 -0
- package/lib/module/library/network-handler/utils/should-ignore-url.js +9 -0
- package/lib/module/library/network-handler/utils/should-ignore-url.js.map +1 -0
- package/lib/module/library/performance-handler/index.js +4 -0
- package/lib/module/library/performance-handler/index.js.map +1 -0
- package/lib/module/library/performance-handler/performance-handler.js +89 -0
- package/lib/module/library/performance-handler/performance-handler.js.map +1 -0
- package/lib/module/library/performance-handler/types.js +4 -0
- package/lib/module/library/performance-handler/types.js.map +1 -0
- package/lib/module/library/project/index.js +6 -0
- package/lib/module/library/project/index.js.map +1 -0
- package/lib/module/library/project/project-handler.js +26 -0
- package/lib/module/library/project/project-handler.js.map +1 -0
- package/lib/module/library/types.js +2 -0
- package/lib/module/library/types.js.map +1 -0
- package/lib/module/specs/mako.nitro.js +4 -0
- package/lib/module/specs/mako.nitro.js.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/library/client/constants.d.ts +24 -0
- package/lib/typescript/src/library/client/constants.d.ts.map +1 -0
- package/lib/typescript/src/library/client/index.d.ts +4 -0
- package/lib/typescript/src/library/client/index.d.ts.map +1 -0
- package/lib/typescript/src/library/client/mako-client.d.ts +87 -0
- package/lib/typescript/src/library/client/mako-client.d.ts.map +1 -0
- package/lib/typescript/src/library/component-handler/component-handler.d.ts +21 -0
- package/lib/typescript/src/library/component-handler/component-handler.d.ts.map +1 -0
- package/lib/typescript/src/library/component-handler/index.d.ts +4 -0
- package/lib/typescript/src/library/component-handler/index.d.ts.map +1 -0
- package/lib/typescript/src/library/component-handler/types.d.ts +22 -0
- package/lib/typescript/src/library/component-handler/types.d.ts.map +1 -0
- package/lib/typescript/src/library/component-handler/utils/index.d.ts +13 -0
- package/lib/typescript/src/library/component-handler/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/library/device/__tests__/device-handler.test.d.ts +2 -0
- package/lib/typescript/src/library/device/__tests__/device-handler.test.d.ts.map +1 -0
- package/lib/typescript/src/library/device/device-handler.d.ts +11 -0
- package/lib/typescript/src/library/device/device-handler.d.ts.map +1 -0
- package/lib/typescript/src/library/device/index.d.ts +3 -0
- package/lib/typescript/src/library/device/index.d.ts.map +1 -0
- package/lib/typescript/src/library/device/types.d.ts +8 -0
- package/lib/typescript/src/library/device/types.d.ts.map +1 -0
- package/lib/typescript/src/library/device/utils/generate-uuid.d.ts +2 -0
- package/lib/typescript/src/library/device/utils/generate-uuid.d.ts.map +1 -0
- package/lib/typescript/src/library/index.d.ts +120 -0
- package/lib/typescript/src/library/index.d.ts.map +1 -0
- package/lib/typescript/src/library/interceptors/__tests__/js-console.test.d.ts +2 -0
- package/lib/typescript/src/library/interceptors/__tests__/js-console.test.d.ts.map +1 -0
- package/lib/typescript/src/library/interceptors/__tests__/react-devtools.test.d.ts +2 -0
- package/lib/typescript/src/library/interceptors/__tests__/react-devtools.test.d.ts.map +1 -0
- package/lib/typescript/src/library/interceptors/__tests__/xhr.test.d.ts +2 -0
- package/lib/typescript/src/library/interceptors/__tests__/xhr.test.d.ts.map +1 -0
- package/lib/typescript/src/library/interceptors/index.d.ts +7 -0
- package/lib/typescript/src/library/interceptors/index.d.ts.map +1 -0
- package/lib/typescript/src/library/interceptors/js-console.d.ts +17 -0
- package/lib/typescript/src/library/interceptors/js-console.d.ts.map +1 -0
- package/lib/typescript/src/library/interceptors/react-devtools.d.ts +54 -0
- package/lib/typescript/src/library/interceptors/react-devtools.d.ts.map +1 -0
- package/lib/typescript/src/library/interceptors/xhr.d.ts +14 -0
- package/lib/typescript/src/library/interceptors/xhr.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/__tests__/network-handler.test.d.ts +2 -0
- package/lib/typescript/src/library/network-handler/__tests__/network-handler.test.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/index.d.ts +2 -0
- package/lib/typescript/src/library/network-handler/index.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/network-handler.d.ts +19 -0
- package/lib/typescript/src/library/network-handler/network-handler.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/types.d.ts +6 -0
- package/lib/typescript/src/library/network-handler/types.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/generate-request-id.test.d.ts +2 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/generate-request-id.test.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/parse-response-headers.test.d.ts +2 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/parse-response-headers.test.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/read-blob-as-text.test.d.ts +2 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/read-blob-as-text.test.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/response-to-string.test.d.ts +2 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/response-to-string.test.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/should-ignore-url.test.d.ts +2 -0
- package/lib/typescript/src/library/network-handler/utils/__tests__/should-ignore-url.test.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/generate-request-id.d.ts +5 -0
- package/lib/typescript/src/library/network-handler/utils/generate-request-id.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/index.d.ts +6 -0
- package/lib/typescript/src/library/network-handler/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/parse-response-headers.d.ts +5 -0
- package/lib/typescript/src/library/network-handler/utils/parse-response-headers.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/read-blob-as-text.d.ts +5 -0
- package/lib/typescript/src/library/network-handler/utils/read-blob-as-text.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/response-to-string.d.ts +5 -0
- package/lib/typescript/src/library/network-handler/utils/response-to-string.d.ts.map +1 -0
- package/lib/typescript/src/library/network-handler/utils/should-ignore-url.d.ts +5 -0
- package/lib/typescript/src/library/network-handler/utils/should-ignore-url.d.ts.map +1 -0
- package/lib/typescript/src/library/performance-handler/index.d.ts +3 -0
- package/lib/typescript/src/library/performance-handler/index.d.ts.map +1 -0
- package/lib/typescript/src/library/performance-handler/performance-handler.d.ts +27 -0
- package/lib/typescript/src/library/performance-handler/performance-handler.d.ts.map +1 -0
- package/lib/typescript/src/library/performance-handler/types.d.ts +20 -0
- package/lib/typescript/src/library/performance-handler/types.d.ts.map +1 -0
- package/lib/typescript/src/library/project/index.d.ts +4 -0
- package/lib/typescript/src/library/project/index.d.ts.map +1 -0
- package/lib/typescript/src/library/project/project-handler.d.ts +7 -0
- package/lib/typescript/src/library/project/project-handler.d.ts.map +1 -0
- package/lib/typescript/src/library/types.d.ts +41 -0
- package/lib/typescript/src/library/types.d.ts.map +1 -0
- package/lib/typescript/src/specs/mako.nitro.d.ts +100 -0
- package/lib/typescript/src/specs/mako.nitro.d.ts.map +1 -0
- package/nitro.json +24 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/NitroMako+autolinking.cmake +81 -0
- package/nitrogen/generated/android/NitroMako+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroMakoOnLoad.cpp +58 -0
- package/nitrogen/generated/android/NitroMakoOnLoad.hpp +34 -0
- package/nitrogen/generated/android/c++/JDeviceInfoResult.hpp +69 -0
- package/nitrogen/generated/android/c++/JFunc_void_NativeLogEntry.hpp +80 -0
- package/nitrogen/generated/android/c++/JFunc_void_PerformanceMetrics.hpp +77 -0
- package/nitrogen/generated/android/c++/JHybridNitroMakoSpec.cpp +124 -0
- package/nitrogen/generated/android/c++/JHybridNitroMakoSpec.hpp +74 -0
- package/nitrogen/generated/android/c++/JNativeLogEntry.hpp +71 -0
- package/nitrogen/generated/android/c++/JNativeLogLevel.hpp +64 -0
- package/nitrogen/generated/android/c++/JPerformanceMetrics.hpp +69 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/DeviceInfoResult.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/Func_void_NativeLogEntry.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/Func_void_PerformanceMetrics.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/HybridNitroMakoSpec.kt +108 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/NativeLogEntry.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/NativeLogLevel.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/NitroMakoOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/PerformanceMetrics.kt +47 -0
- package/nitrogen/generated/ios/NitroMako+autolinking.rb +62 -0
- package/nitrogen/generated/ios/NitroMako-Swift-Cxx-Bridge.cpp +49 -0
- package/nitrogen/generated/ios/NitroMako-Swift-Cxx-Bridge.hpp +185 -0
- package/nitrogen/generated/ios/NitroMako-Swift-Cxx-Umbrella.hpp +58 -0
- package/nitrogen/generated/ios/NitroMakoAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroMakoAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridNitroMakoSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNitroMakoSpecSwift.hpp +175 -0
- package/nitrogen/generated/ios/swift/DeviceInfoResult.swift +44 -0
- package/nitrogen/generated/ios/swift/Func_void_NativeLogEntry.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_PerformanceMetrics.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridNitroMakoSpec.swift +66 -0
- package/nitrogen/generated/ios/swift/HybridNitroMakoSpec_cxx.swift +289 -0
- package/nitrogen/generated/ios/swift/NativeLogEntry.swift +44 -0
- package/nitrogen/generated/ios/swift/NativeLogLevel.swift +48 -0
- package/nitrogen/generated/ios/swift/PerformanceMetrics.swift +44 -0
- package/nitrogen/generated/shared/c++/DeviceInfoResult.hpp +95 -0
- package/nitrogen/generated/shared/c++/HybridNitroMakoSpec.cpp +32 -0
- package/nitrogen/generated/shared/c++/HybridNitroMakoSpec.hpp +83 -0
- package/nitrogen/generated/shared/c++/NativeLogEntry.hpp +97 -0
- package/nitrogen/generated/shared/c++/NativeLogLevel.hpp +84 -0
- package/nitrogen/generated/shared/c++/PerformanceMetrics.hpp +95 -0
- package/package.json +128 -0
- package/react-native.config.js +16 -0
- package/src/index.ts +7 -0
- package/src/library/client/constants.ts +36 -0
- package/src/library/client/index.ts +9 -0
- package/src/library/client/mako-client.ts +494 -0
- package/src/library/component-handler/component-handler.ts +162 -0
- package/src/library/component-handler/index.ts +3 -0
- package/src/library/component-handler/types.ts +24 -0
- package/src/library/component-handler/utils/index.ts +23 -0
- package/src/library/device/__tests__/device-handler.test.ts +86 -0
- package/src/library/device/device-handler.ts +85 -0
- package/src/library/device/index.ts +3 -0
- package/src/library/device/types.ts +7 -0
- package/src/library/device/utils/generate-uuid.ts +7 -0
- package/src/library/index.ts +183 -0
- package/src/library/interceptors/__tests__/js-console.test.ts +186 -0
- package/src/library/interceptors/__tests__/react-devtools.test.ts +848 -0
- package/src/library/interceptors/__tests__/xhr.test.ts +313 -0
- package/src/library/interceptors/index.ts +7 -0
- package/src/library/interceptors/js-console.ts +93 -0
- package/src/library/interceptors/react-devtools.ts +268 -0
- package/src/library/interceptors/xhr.ts +123 -0
- package/src/library/network-handler/__tests__/network-handler.test.ts +265 -0
- package/src/library/network-handler/index.ts +1 -0
- package/src/library/network-handler/network-handler.ts +141 -0
- package/src/library/network-handler/types.ts +6 -0
- package/src/library/network-handler/utils/__tests__/generate-request-id.test.ts +22 -0
- package/src/library/network-handler/utils/__tests__/parse-response-headers.test.ts +71 -0
- package/src/library/network-handler/utils/__tests__/read-blob-as-text.test.ts +79 -0
- package/src/library/network-handler/utils/__tests__/response-to-string.test.ts +85 -0
- package/src/library/network-handler/utils/__tests__/should-ignore-url.test.ts +45 -0
- package/src/library/network-handler/utils/generate-request-id.ts +6 -0
- package/src/library/network-handler/utils/index.ts +5 -0
- package/src/library/network-handler/utils/parse-response-headers.ts +20 -0
- package/src/library/network-handler/utils/read-blob-as-text.ts +11 -0
- package/src/library/network-handler/utils/response-to-string.ts +32 -0
- package/src/library/network-handler/utils/should-ignore-url.ts +6 -0
- package/src/library/performance-handler/index.ts +2 -0
- package/src/library/performance-handler/performance-handler.ts +104 -0
- package/src/library/performance-handler/types.ts +22 -0
- package/src/library/project/index.ts +4 -0
- package/src/library/project/project-handler.ts +28 -0
- package/src/library/types.ts +82 -0
- package/src/specs/mako.nitro.ts +114 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridNitroMakoSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridNitroMakoSpec.hpp"
|
|
9
|
+
|
|
10
|
+
// Forward declaration of `DeviceInfoResult` to properly resolve imports.
|
|
11
|
+
namespace margelo::nitro::mako { struct DeviceInfoResult; }
|
|
12
|
+
// Forward declaration of `PerformanceMetrics` to properly resolve imports.
|
|
13
|
+
namespace margelo::nitro::mako { struct PerformanceMetrics; }
|
|
14
|
+
// Forward declaration of `NativeLogEntry` to properly resolve imports.
|
|
15
|
+
namespace margelo::nitro::mako { struct NativeLogEntry; }
|
|
16
|
+
// Forward declaration of `NativeLogLevel` to properly resolve imports.
|
|
17
|
+
namespace margelo::nitro::mako { enum class NativeLogLevel; }
|
|
18
|
+
|
|
19
|
+
#include "DeviceInfoResult.hpp"
|
|
20
|
+
#include "JDeviceInfoResult.hpp"
|
|
21
|
+
#include <string>
|
|
22
|
+
#include <optional>
|
|
23
|
+
#include "PerformanceMetrics.hpp"
|
|
24
|
+
#include "JPerformanceMetrics.hpp"
|
|
25
|
+
#include "NativeLogEntry.hpp"
|
|
26
|
+
#include <functional>
|
|
27
|
+
#include "JFunc_void_NativeLogEntry.hpp"
|
|
28
|
+
#include <NitroModules/JNICallable.hpp>
|
|
29
|
+
#include "JNativeLogEntry.hpp"
|
|
30
|
+
#include "NativeLogLevel.hpp"
|
|
31
|
+
#include "JNativeLogLevel.hpp"
|
|
32
|
+
#include "JFunc_void_PerformanceMetrics.hpp"
|
|
33
|
+
|
|
34
|
+
namespace margelo::nitro::mako {
|
|
35
|
+
|
|
36
|
+
std::shared_ptr<JHybridNitroMakoSpec> JHybridNitroMakoSpec::JavaPart::getJHybridNitroMakoSpec() {
|
|
37
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
38
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroMakoSpec>(hybridObject);
|
|
39
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
40
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroMakoSpec!");
|
|
41
|
+
}
|
|
42
|
+
return castHybridObject;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
jni::local_ref<JHybridNitroMakoSpec::CxxPart::jhybriddata> JHybridNitroMakoSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
46
|
+
return makeCxxInstance(jThis);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
std::shared_ptr<JHybridObject> JHybridNitroMakoSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
50
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroMakoSpec::JavaPart>(javaPart);
|
|
51
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
52
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroMakoSpec::JavaPart!");
|
|
53
|
+
}
|
|
54
|
+
return std::make_shared<JHybridNitroMakoSpec>(castJavaPart);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
void JHybridNitroMakoSpec::CxxPart::registerNatives() {
|
|
58
|
+
registerHybrid({
|
|
59
|
+
makeNativeMethod("initHybrid", JHybridNitroMakoSpec::CxxPart::initHybrid),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Properties
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
// Methods
|
|
67
|
+
double JHybridNitroMakoSpec::sum(double num1, double num2) {
|
|
68
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<double(double /* num1 */, double /* num2 */)>("sum");
|
|
69
|
+
auto __result = method(_javaPart, num1, num2);
|
|
70
|
+
return __result;
|
|
71
|
+
}
|
|
72
|
+
bool JHybridNitroMakoSpec::startLogCapture(const std::function<void(const NativeLogEntry& /* log */)>& onLog) {
|
|
73
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<JFunc_void_NativeLogEntry::javaobject> /* onLog */)>("startLogCapture_cxx");
|
|
74
|
+
auto __result = method(_javaPart, JFunc_void_NativeLogEntry_cxx::fromCpp(onLog));
|
|
75
|
+
return static_cast<bool>(__result);
|
|
76
|
+
}
|
|
77
|
+
void JHybridNitroMakoSpec::stopLogCapture() {
|
|
78
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("stopLogCapture");
|
|
79
|
+
method(_javaPart);
|
|
80
|
+
}
|
|
81
|
+
bool JHybridNitroMakoSpec::isCapturing() {
|
|
82
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean()>("isCapturing");
|
|
83
|
+
auto __result = method(_javaPart);
|
|
84
|
+
return static_cast<bool>(__result);
|
|
85
|
+
}
|
|
86
|
+
DeviceInfoResult JHybridNitroMakoSpec::getDeviceInfo() {
|
|
87
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JDeviceInfoResult>()>("getDeviceInfo");
|
|
88
|
+
auto __result = method(_javaPart);
|
|
89
|
+
return __result->toCpp();
|
|
90
|
+
}
|
|
91
|
+
std::optional<std::string> JHybridNitroMakoSpec::getStoredDeviceId() {
|
|
92
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getStoredDeviceId");
|
|
93
|
+
auto __result = method(_javaPart);
|
|
94
|
+
return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
|
|
95
|
+
}
|
|
96
|
+
void JHybridNitroMakoSpec::storeDeviceId(const std::string& deviceId) {
|
|
97
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* deviceId */)>("storeDeviceId");
|
|
98
|
+
method(_javaPart, jni::make_jstring(deviceId));
|
|
99
|
+
}
|
|
100
|
+
bool JHybridNitroMakoSpec::startPerformanceMonitoring(const std::function<void(const PerformanceMetrics& /* metrics */)>& onMetrics, std::optional<double> intervalMs) {
|
|
101
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean(jni::alias_ref<JFunc_void_PerformanceMetrics::javaobject> /* onMetrics */, jni::alias_ref<jni::JDouble> /* intervalMs */)>("startPerformanceMonitoring_cxx");
|
|
102
|
+
auto __result = method(_javaPart, JFunc_void_PerformanceMetrics_cxx::fromCpp(onMetrics), intervalMs.has_value() ? jni::JDouble::valueOf(intervalMs.value()) : nullptr);
|
|
103
|
+
return static_cast<bool>(__result);
|
|
104
|
+
}
|
|
105
|
+
void JHybridNitroMakoSpec::stopPerformanceMonitoring() {
|
|
106
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("stopPerformanceMonitoring");
|
|
107
|
+
method(_javaPart);
|
|
108
|
+
}
|
|
109
|
+
bool JHybridNitroMakoSpec::isPerformanceMonitoring() {
|
|
110
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jboolean()>("isPerformanceMonitoring");
|
|
111
|
+
auto __result = method(_javaPart);
|
|
112
|
+
return static_cast<bool>(__result);
|
|
113
|
+
}
|
|
114
|
+
PerformanceMetrics JHybridNitroMakoSpec::getPerformanceSnapshot() {
|
|
115
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPerformanceMetrics>()>("getPerformanceSnapshot");
|
|
116
|
+
auto __result = method(_javaPart);
|
|
117
|
+
return __result->toCpp();
|
|
118
|
+
}
|
|
119
|
+
void JHybridNitroMakoSpec::recordJsFrame() {
|
|
120
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("recordJsFrame");
|
|
121
|
+
method(_javaPart);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
} // namespace margelo::nitro::mako
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridNitroMakoSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridNitroMakoSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::mako {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridNitroMakoSpec: public virtual HybridNitroMakoSpec, public virtual JHybridObject {
|
|
22
|
+
public:
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/mako/HybridNitroMakoSpec;";
|
|
25
|
+
std::shared_ptr<JHybridNitroMakoSpec> getJHybridNitroMakoSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/mako/HybridNitroMakoSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
explicit JHybridNitroMakoSpec(const jni::local_ref<JHybridNitroMakoSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridNitroMakoSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
41
|
+
~JHybridNitroMakoSpec() override {
|
|
42
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
43
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridNitroMakoSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
double sum(double num1, double num2) override;
|
|
58
|
+
bool startLogCapture(const std::function<void(const NativeLogEntry& /* log */)>& onLog) override;
|
|
59
|
+
void stopLogCapture() override;
|
|
60
|
+
bool isCapturing() override;
|
|
61
|
+
DeviceInfoResult getDeviceInfo() override;
|
|
62
|
+
std::optional<std::string> getStoredDeviceId() override;
|
|
63
|
+
void storeDeviceId(const std::string& deviceId) override;
|
|
64
|
+
bool startPerformanceMonitoring(const std::function<void(const PerformanceMetrics& /* metrics */)>& onMetrics, std::optional<double> intervalMs) override;
|
|
65
|
+
void stopPerformanceMonitoring() override;
|
|
66
|
+
bool isPerformanceMonitoring() override;
|
|
67
|
+
PerformanceMetrics getPerformanceSnapshot() override;
|
|
68
|
+
void recordJsFrame() override;
|
|
69
|
+
|
|
70
|
+
private:
|
|
71
|
+
jni::global_ref<JHybridNitroMakoSpec::JavaPart> _javaPart;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
} // namespace margelo::nitro::mako
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNativeLogEntry.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NativeLogEntry.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JNativeLogLevel.hpp"
|
|
14
|
+
#include "NativeLogLevel.hpp"
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::mako {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The C++ JNI bridge between the C++ struct "NativeLogEntry" and the the Kotlin data class "NativeLogEntry".
|
|
23
|
+
*/
|
|
24
|
+
struct JNativeLogEntry final: public jni::JavaClass<JNativeLogEntry> {
|
|
25
|
+
public:
|
|
26
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/mako/NativeLogEntry;";
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
/**
|
|
30
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NativeLogEntry by copying all values to C++.
|
|
31
|
+
*/
|
|
32
|
+
[[maybe_unused]]
|
|
33
|
+
[[nodiscard]]
|
|
34
|
+
NativeLogEntry toCpp() const {
|
|
35
|
+
static const auto clazz = javaClassStatic();
|
|
36
|
+
static const auto fieldLevel = clazz->getField<JNativeLogLevel>("level");
|
|
37
|
+
jni::local_ref<JNativeLogLevel> level = this->getFieldValue(fieldLevel);
|
|
38
|
+
static const auto fieldMessage = clazz->getField<jni::JString>("message");
|
|
39
|
+
jni::local_ref<jni::JString> message = this->getFieldValue(fieldMessage);
|
|
40
|
+
static const auto fieldTag = clazz->getField<jni::JString>("tag");
|
|
41
|
+
jni::local_ref<jni::JString> tag = this->getFieldValue(fieldTag);
|
|
42
|
+
static const auto fieldTimestamp = clazz->getField<double>("timestamp");
|
|
43
|
+
double timestamp = this->getFieldValue(fieldTimestamp);
|
|
44
|
+
return NativeLogEntry(
|
|
45
|
+
level->toCpp(),
|
|
46
|
+
message->toStdString(),
|
|
47
|
+
tag->toStdString(),
|
|
48
|
+
timestamp
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public:
|
|
53
|
+
/**
|
|
54
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
55
|
+
*/
|
|
56
|
+
[[maybe_unused]]
|
|
57
|
+
static jni::local_ref<JNativeLogEntry::javaobject> fromCpp(const NativeLogEntry& value) {
|
|
58
|
+
using JSignature = JNativeLogEntry(jni::alias_ref<JNativeLogLevel>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, double);
|
|
59
|
+
static const auto clazz = javaClassStatic();
|
|
60
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
61
|
+
return create(
|
|
62
|
+
clazz,
|
|
63
|
+
JNativeLogLevel::fromCpp(value.level),
|
|
64
|
+
jni::make_jstring(value.message),
|
|
65
|
+
jni::make_jstring(value.tag),
|
|
66
|
+
value.timestamp
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
} // namespace margelo::nitro::mako
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNativeLogLevel.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NativeLogLevel.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::mako {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "NativeLogLevel" and the the Kotlin enum "NativeLogLevel".
|
|
19
|
+
*/
|
|
20
|
+
struct JNativeLogLevel final: public jni::JavaClass<JNativeLogLevel> {
|
|
21
|
+
public:
|
|
22
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/mako/NativeLogLevel;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum NativeLogLevel.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
NativeLogLevel toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<NativeLogLevel>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JNativeLogLevel> fromCpp(NativeLogLevel value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
switch (value) {
|
|
45
|
+
case NativeLogLevel::VERBOSE:
|
|
46
|
+
static const auto fieldVERBOSE = clazz->getStaticField<JNativeLogLevel>("VERBOSE");
|
|
47
|
+
return clazz->getStaticFieldValue(fieldVERBOSE);
|
|
48
|
+
case NativeLogLevel::INFO:
|
|
49
|
+
static const auto fieldINFO = clazz->getStaticField<JNativeLogLevel>("INFO");
|
|
50
|
+
return clazz->getStaticFieldValue(fieldINFO);
|
|
51
|
+
case NativeLogLevel::WARN:
|
|
52
|
+
static const auto fieldWARN = clazz->getStaticField<JNativeLogLevel>("WARN");
|
|
53
|
+
return clazz->getStaticFieldValue(fieldWARN);
|
|
54
|
+
case NativeLogLevel::ERROR:
|
|
55
|
+
static const auto fieldERROR = clazz->getStaticField<JNativeLogLevel>("ERROR");
|
|
56
|
+
return clazz->getStaticFieldValue(fieldERROR);
|
|
57
|
+
default:
|
|
58
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
59
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
} // namespace margelo::nitro::mako
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JPerformanceMetrics.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "PerformanceMetrics.hpp"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::mako {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "PerformanceMetrics" and the the Kotlin data class "PerformanceMetrics".
|
|
21
|
+
*/
|
|
22
|
+
struct JPerformanceMetrics final: public jni::JavaClass<JPerformanceMetrics> {
|
|
23
|
+
public:
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/mako/PerformanceMetrics;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct PerformanceMetrics by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
PerformanceMetrics toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldUiFps = clazz->getField<double>("uiFps");
|
|
35
|
+
double uiFps = this->getFieldValue(fieldUiFps);
|
|
36
|
+
static const auto fieldJsFps = clazz->getField<double>("jsFps");
|
|
37
|
+
double jsFps = this->getFieldValue(fieldJsFps);
|
|
38
|
+
static const auto fieldMemoryUsageMB = clazz->getField<double>("memoryUsageMB");
|
|
39
|
+
double memoryUsageMB = this->getFieldValue(fieldMemoryUsageMB);
|
|
40
|
+
static const auto fieldCpuUsagePercent = clazz->getField<double>("cpuUsagePercent");
|
|
41
|
+
double cpuUsagePercent = this->getFieldValue(fieldCpuUsagePercent);
|
|
42
|
+
return PerformanceMetrics(
|
|
43
|
+
uiFps,
|
|
44
|
+
jsFps,
|
|
45
|
+
memoryUsageMB,
|
|
46
|
+
cpuUsagePercent
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public:
|
|
51
|
+
/**
|
|
52
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
53
|
+
*/
|
|
54
|
+
[[maybe_unused]]
|
|
55
|
+
static jni::local_ref<JPerformanceMetrics::javaobject> fromCpp(const PerformanceMetrics& value) {
|
|
56
|
+
using JSignature = JPerformanceMetrics(double, double, double, double);
|
|
57
|
+
static const auto clazz = javaClassStatic();
|
|
58
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
59
|
+
return create(
|
|
60
|
+
clazz,
|
|
61
|
+
value.uiFps,
|
|
62
|
+
value.jsFps,
|
|
63
|
+
value.memoryUsageMB,
|
|
64
|
+
value.cpuUsagePercent
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
} // namespace margelo::nitro::mako
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// DeviceInfoResult.kt
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
package com.margelo.nitro.mako
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.Keep
|
|
11
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents the JavaScript object/struct "DeviceInfoResult".
|
|
16
|
+
*/
|
|
17
|
+
@DoNotStrip
|
|
18
|
+
@Keep
|
|
19
|
+
data class DeviceInfoResult(
|
|
20
|
+
@DoNotStrip
|
|
21
|
+
@Keep
|
|
22
|
+
val deviceId: String,
|
|
23
|
+
@DoNotStrip
|
|
24
|
+
@Keep
|
|
25
|
+
val deviceName: String,
|
|
26
|
+
@DoNotStrip
|
|
27
|
+
@Keep
|
|
28
|
+
val appName: String,
|
|
29
|
+
@DoNotStrip
|
|
30
|
+
@Keep
|
|
31
|
+
val bundleId: String
|
|
32
|
+
) {
|
|
33
|
+
/* primary constructor */
|
|
34
|
+
|
|
35
|
+
companion object {
|
|
36
|
+
/**
|
|
37
|
+
* Constructor called from C++
|
|
38
|
+
*/
|
|
39
|
+
@DoNotStrip
|
|
40
|
+
@Keep
|
|
41
|
+
@Suppress("unused")
|
|
42
|
+
@JvmStatic
|
|
43
|
+
private fun fromCpp(deviceId: String, deviceName: String, appName: String, bundleId: String): DeviceInfoResult {
|
|
44
|
+
return DeviceInfoResult(deviceId, deviceName, appName, bundleId)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Func_void_NativeLogEntry.kt
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
package com.margelo.nitro.mako
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.Keep
|
|
11
|
+
import com.facebook.jni.HybridData
|
|
12
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
13
|
+
import dalvik.annotation.optimization.FastNative
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Represents the JavaScript callback `(log: struct) => void`.
|
|
18
|
+
* This can be either implemented in C++ (in which case it might be a callback coming from JS),
|
|
19
|
+
* or in Kotlin/Java (in which case it is a native callback).
|
|
20
|
+
*/
|
|
21
|
+
@DoNotStrip
|
|
22
|
+
@Keep
|
|
23
|
+
@Suppress("ClassName", "RedundantUnitReturnType")
|
|
24
|
+
fun interface Func_void_NativeLogEntry: (NativeLogEntry) -> Unit {
|
|
25
|
+
/**
|
|
26
|
+
* Call the given JS callback.
|
|
27
|
+
* @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
|
|
28
|
+
*/
|
|
29
|
+
@DoNotStrip
|
|
30
|
+
@Keep
|
|
31
|
+
override fun invoke(log: NativeLogEntry): Unit
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Represents the JavaScript callback `(log: struct) => void`.
|
|
36
|
+
* This is implemented in C++, via a `std::function<...>`.
|
|
37
|
+
* The callback might be coming from JS.
|
|
38
|
+
*/
|
|
39
|
+
@DoNotStrip
|
|
40
|
+
@Keep
|
|
41
|
+
@Suppress(
|
|
42
|
+
"KotlinJniMissingFunction", "unused",
|
|
43
|
+
"RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
|
|
44
|
+
"ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
|
|
45
|
+
)
|
|
46
|
+
class Func_void_NativeLogEntry_cxx: Func_void_NativeLogEntry {
|
|
47
|
+
@DoNotStrip
|
|
48
|
+
@Keep
|
|
49
|
+
private val mHybridData: HybridData
|
|
50
|
+
|
|
51
|
+
@DoNotStrip
|
|
52
|
+
@Keep
|
|
53
|
+
private constructor(hybridData: HybridData) {
|
|
54
|
+
mHybridData = hybridData
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@DoNotStrip
|
|
58
|
+
@Keep
|
|
59
|
+
override fun invoke(log: NativeLogEntry): Unit
|
|
60
|
+
= invoke_cxx(log)
|
|
61
|
+
|
|
62
|
+
@FastNative
|
|
63
|
+
private external fun invoke_cxx(log: NativeLogEntry): Unit
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Represents the JavaScript callback `(log: struct) => void`.
|
|
68
|
+
* This is implemented in Java/Kotlin, via a `(NativeLogEntry) -> Unit`.
|
|
69
|
+
* The callback is always coming from native.
|
|
70
|
+
*/
|
|
71
|
+
@DoNotStrip
|
|
72
|
+
@Keep
|
|
73
|
+
@Suppress("ClassName", "RedundantUnitReturnType", "unused")
|
|
74
|
+
class Func_void_NativeLogEntry_java(private val function: (NativeLogEntry) -> Unit): Func_void_NativeLogEntry {
|
|
75
|
+
@DoNotStrip
|
|
76
|
+
@Keep
|
|
77
|
+
override fun invoke(log: NativeLogEntry): Unit {
|
|
78
|
+
return this.function(log)
|
|
79
|
+
}
|
|
80
|
+
}
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/mako/Func_void_PerformanceMetrics.kt
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Func_void_PerformanceMetrics.kt
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
package com.margelo.nitro.mako
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.Keep
|
|
11
|
+
import com.facebook.jni.HybridData
|
|
12
|
+
import com.facebook.proguard.annotations.DoNotStrip
|
|
13
|
+
import dalvik.annotation.optimization.FastNative
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Represents the JavaScript callback `(metrics: struct) => void`.
|
|
18
|
+
* This can be either implemented in C++ (in which case it might be a callback coming from JS),
|
|
19
|
+
* or in Kotlin/Java (in which case it is a native callback).
|
|
20
|
+
*/
|
|
21
|
+
@DoNotStrip
|
|
22
|
+
@Keep
|
|
23
|
+
@Suppress("ClassName", "RedundantUnitReturnType")
|
|
24
|
+
fun interface Func_void_PerformanceMetrics: (PerformanceMetrics) -> Unit {
|
|
25
|
+
/**
|
|
26
|
+
* Call the given JS callback.
|
|
27
|
+
* @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
|
|
28
|
+
*/
|
|
29
|
+
@DoNotStrip
|
|
30
|
+
@Keep
|
|
31
|
+
override fun invoke(metrics: PerformanceMetrics): Unit
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Represents the JavaScript callback `(metrics: struct) => void`.
|
|
36
|
+
* This is implemented in C++, via a `std::function<...>`.
|
|
37
|
+
* The callback might be coming from JS.
|
|
38
|
+
*/
|
|
39
|
+
@DoNotStrip
|
|
40
|
+
@Keep
|
|
41
|
+
@Suppress(
|
|
42
|
+
"KotlinJniMissingFunction", "unused",
|
|
43
|
+
"RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
|
|
44
|
+
"ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
|
|
45
|
+
)
|
|
46
|
+
class Func_void_PerformanceMetrics_cxx: Func_void_PerformanceMetrics {
|
|
47
|
+
@DoNotStrip
|
|
48
|
+
@Keep
|
|
49
|
+
private val mHybridData: HybridData
|
|
50
|
+
|
|
51
|
+
@DoNotStrip
|
|
52
|
+
@Keep
|
|
53
|
+
private constructor(hybridData: HybridData) {
|
|
54
|
+
mHybridData = hybridData
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@DoNotStrip
|
|
58
|
+
@Keep
|
|
59
|
+
override fun invoke(metrics: PerformanceMetrics): Unit
|
|
60
|
+
= invoke_cxx(metrics)
|
|
61
|
+
|
|
62
|
+
@FastNative
|
|
63
|
+
private external fun invoke_cxx(metrics: PerformanceMetrics): Unit
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Represents the JavaScript callback `(metrics: struct) => void`.
|
|
68
|
+
* This is implemented in Java/Kotlin, via a `(PerformanceMetrics) -> Unit`.
|
|
69
|
+
* The callback is always coming from native.
|
|
70
|
+
*/
|
|
71
|
+
@DoNotStrip
|
|
72
|
+
@Keep
|
|
73
|
+
@Suppress("ClassName", "RedundantUnitReturnType", "unused")
|
|
74
|
+
class Func_void_PerformanceMetrics_java(private val function: (PerformanceMetrics) -> Unit): Func_void_PerformanceMetrics {
|
|
75
|
+
@DoNotStrip
|
|
76
|
+
@Keep
|
|
77
|
+
override fun invoke(metrics: PerformanceMetrics): Unit {
|
|
78
|
+
return this.function(metrics)
|
|
79
|
+
}
|
|
80
|
+
}
|