react-native-zeroconf 0.17.4 → 1.0.0-rc.2

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.
Files changed (115) hide show
  1. package/NOTICE +2 -6
  2. package/Package.swift +19 -3
  3. package/README.md +1 -3
  4. package/android/CMakeLists.txt +64 -0
  5. package/android/build.gradle +1 -17
  6. package/android/generated/java/com/balthazargronon/RCTZeroconf/NativeZeroconfSpec.java +96 -0
  7. package/android/generated/jni/CMakeLists.txt +28 -0
  8. package/android/generated/jni/RNZeroconfSpec-generated.cpp +77 -0
  9. package/android/generated/jni/RNZeroconfSpec.h +31 -0
  10. package/android/generated/jni/react/renderer/components/RNZeroconfSpec/RNZeroconfSpecJSI.h +798 -0
  11. package/android/src/main/java/com/balthazargronon/RCTZeroconf/{ZeroconfModule.java → NsdHost.java} +97 -140
  12. package/android/src/main/java/com/balthazargronon/RCTZeroconf/NsdPayload.java +87 -0
  13. package/android/src/main/java/com/balthazargronon/RCTZeroconf/NsdPromise.java +40 -0
  14. package/android/src/main/java/com/balthazargronon/RCTZeroconf/Zeroconf.java +4 -6
  15. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfNativeSupport.java +60 -0
  16. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfOptions.java +15 -26
  17. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfReactPackage.java +5 -15
  18. package/android/src/main/java/com/balthazargronon/RCTZeroconf/nsd/NsdServiceImpl.java +90 -96
  19. package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientshim.c +31 -6
  20. package/cpp/Backend.cpp +16 -0
  21. package/cpp/Backend.h +116 -0
  22. package/cpp/ZeroconfModule.cpp +280 -0
  23. package/cpp/ZeroconfModule.h +144 -0
  24. package/cpp/android/NsdBackend.cpp +462 -0
  25. package/cpp/android/NsdBackend.h +61 -0
  26. package/cpp/android/ZeroconfAndroidModule.cpp +49 -0
  27. package/cpp/android/ZeroconfAndroidModule.h +15 -0
  28. package/cpp/apple/DispatchExecutor.cpp +66 -0
  29. package/cpp/apple/DispatchExecutor.h +37 -0
  30. package/cpp/apple/LocalNetworkAccess.h +19 -0
  31. package/cpp/apple/LocalNetworkAccess.mm +87 -0
  32. package/cpp/dnssd/DnssdBackend.cpp +976 -0
  33. package/cpp/dnssd/DnssdBackend.h +114 -0
  34. package/cpp/dnssd/Executor.h +28 -0
  35. package/cpp/embedded/EmbeddedExecutor.cpp +124 -0
  36. package/cpp/embedded/EmbeddedExecutor.h +57 -0
  37. package/ios/ZeroconfOnLoad.mm +34 -0
  38. package/ios/generated/ReactCodegen/RNZeroconfSpec/RNZeroconfSpec-generated.mm +140 -0
  39. package/ios/generated/ReactCodegen/RNZeroconfSpec/RNZeroconfSpec.h +189 -0
  40. package/ios/generated/ReactCodegen/RNZeroconfSpecJSI.h +798 -0
  41. package/lib/module/NativeZeroconf.js +15 -0
  42. package/lib/module/NativeZeroconf.js.map +1 -0
  43. package/lib/module/bridge.js +124 -0
  44. package/lib/module/bridge.js.map +1 -0
  45. package/{dist → lib/module}/index.js +149 -149
  46. package/lib/module/index.js.map +1 -0
  47. package/lib/module/package.json +1 -0
  48. package/lib/module/types.js +24 -0
  49. package/lib/module/types.js.map +1 -0
  50. package/lib/typescript/package.json +1 -0
  51. package/lib/typescript/src/NativeZeroconf.d.ts +75 -0
  52. package/lib/typescript/src/NativeZeroconf.d.ts.map +1 -0
  53. package/lib/typescript/src/bridge.d.ts +22 -0
  54. package/lib/typescript/src/bridge.d.ts.map +1 -0
  55. package/lib/typescript/src/index.d.ts +111 -0
  56. package/lib/typescript/src/index.d.ts.map +1 -0
  57. package/lib/typescript/src/types.d.ts +175 -0
  58. package/lib/typescript/src/types.d.ts.map +1 -0
  59. package/package.json +64 -29
  60. package/react-native-zeroconf.podspec +2 -1
  61. package/react-native.config.js +17 -0
  62. package/src/NativeZeroconf.ts +120 -0
  63. package/src/bridge.ts +153 -0
  64. package/src/index.ts +607 -0
  65. package/{index.d.ts → src/types.ts} +5 -99
  66. package/windows/RNZeroconf/RNZeroconf.vcxproj +17 -2
  67. package/windows/RNZeroconf/RNZeroconf.vcxproj.filters +0 -6
  68. package/windows/RNZeroconf/ReactPackageProvider.cpp +23 -20
  69. package/windows/RNZeroconf/WindowsBackend.cpp +156 -0
  70. package/windows/RNZeroconf/WindowsBackend.h +13 -0
  71. package/windows/RNZeroconf/ZeroconfCore.cpp +2 -2
  72. package/windows/RNZeroconf/ZeroconfCore.h +2 -2
  73. package/windows/RNZeroconf/ZeroconfWindowsModule.cpp +22 -0
  74. package/windows/RNZeroconf/ZeroconfWindowsModule.h +14 -0
  75. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroConfImplFactory.java +0 -56
  76. package/android/src/main/java/com/balthazargronon/RCTZeroconf/dnssd/DnssdImpl.java +0 -654
  77. package/android/src/main/java/com/github/druk/dnssd/BaseListener.java +0 -33
  78. package/android/src/main/java/com/github/druk/dnssd/BrowseListener.java +0 -67
  79. package/android/src/main/java/com/github/druk/dnssd/DNSRecord.java +0 -47
  80. package/android/src/main/java/com/github/druk/dnssd/DNSSD.java +0 -681
  81. package/android/src/main/java/com/github/druk/dnssd/DNSSDEmbedded.java +0 -198
  82. package/android/src/main/java/com/github/druk/dnssd/DNSSDException.java +0 -66
  83. package/android/src/main/java/com/github/druk/dnssd/DNSSDRecordRegistrar.java +0 -55
  84. package/android/src/main/java/com/github/druk/dnssd/DNSSDRegistration.java +0 -54
  85. package/android/src/main/java/com/github/druk/dnssd/DNSSDService.java +0 -35
  86. package/android/src/main/java/com/github/druk/dnssd/DomainListener.java +0 -57
  87. package/android/src/main/java/com/github/druk/dnssd/InternalBrowseListener.java +0 -76
  88. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSD.java +0 -870
  89. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRecordRegistrar.java +0 -30
  90. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRegistration.java +0 -34
  91. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDService.java +0 -29
  92. package/android/src/main/java/com/github/druk/dnssd/InternalDomainListener.java +0 -62
  93. package/android/src/main/java/com/github/druk/dnssd/InternalQueryListener.java +0 -61
  94. package/android/src/main/java/com/github/druk/dnssd/InternalRegisterListener.java +0 -51
  95. package/android/src/main/java/com/github/druk/dnssd/InternalResolveListener.java +0 -58
  96. package/android/src/main/java/com/github/druk/dnssd/NSClass.java +0 -16
  97. package/android/src/main/java/com/github/druk/dnssd/NSType.java +0 -58
  98. package/android/src/main/java/com/github/druk/dnssd/QueryListener.java +0 -54
  99. package/android/src/main/java/com/github/druk/dnssd/RegisterListener.java +0 -46
  100. package/android/src/main/java/com/github/druk/dnssd/RegisterRecordListener.java +0 -35
  101. package/android/src/main/java/com/github/druk/dnssd/ResolveListener.java +0 -55
  102. package/android/src/main/java/com/github/druk/dnssd/TXTRecord.java +0 -293
  103. package/android/src/main/jni/Android.mk +0 -73
  104. package/android/src/main/jni/Application.mk +0 -3
  105. package/android/src/main/jni/DNSSD.java.h +0 -290
  106. package/android/src/main/jni/JNISupport.c +0 -1221
  107. package/ios/RNZeroconf/RNNetServiceSerializer.h +0 -31
  108. package/ios/RNZeroconf/RNNetServiceSerializer.m +0 -84
  109. package/ios/RNZeroconf/RNZeroconf.h +0 -17
  110. package/ios/RNZeroconf/RNZeroconf.m +0 -1025
  111. package/ios/RNZeroconf.xcodeproj/project.pbxproj +0 -261
  112. package/ios/RNZeroconf.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  113. package/src/index.js +0 -563
  114. package/windows/RNZeroconf/RNZeroconf.cpp +0 -228
  115. package/windows/RNZeroconf/RNZeroconf.h +0 -70
package/NOTICE CHANGED
@@ -28,12 +28,8 @@ limitations under the License.
28
28
 
29
29
  The following files are derived from RxDNSSD:
30
30
 
31
- android/src/main/jni/*
32
- - Native mDNS/DNS-SD implementation (mDNSResponder)
33
- - JNI bindings for Android
34
-
35
- android/src/main/java/com/github/druk/dnssd/*
36
- - Java DNS-SD API classes
31
+ android/src/main/jni/mdnsresponder/*
32
+ - Native mDNS/DNS-SD implementation (mDNSResponder), as distributed with RxDNSSD
37
33
 
38
34
  ================================================================================
39
35
 
package/Package.swift CHANGED
@@ -5,6 +5,8 @@ import PackageDescription
5
5
  // (react-native >= 0.87). CocoaPods users are unaffected; see the podspec.
6
6
  // The two React Native packages are resolved by the autolinker relative to
7
7
  // build/generated/autolinking/libs/ReactNativeZeroconf in the app.
8
+ // Same sources as the podspec: the C++ module, its Apple registration and the
9
+ // codegen output shipped in ios/generated.
8
10
  let package = Package(
9
11
  name: "ReactNativeZeroconf",
10
12
  platforms: [.iOS(.v15)],
@@ -24,12 +26,26 @@ let package = Package(
24
26
  .product(name: "ReactNativeDependenciesHeaders", package: "ReactNative"),
25
27
  .product(name: "ReactAppHeaders", package: "React-GeneratedCode"),
26
28
  ],
27
- path: "ios/RNZeroconf",
28
- publicHeadersPath: ".",
29
+ path: ".",
30
+ sources: [
31
+ "cpp/Backend.cpp",
32
+ "cpp/ZeroconfModule.cpp",
33
+ "cpp/apple",
34
+ "cpp/dnssd",
35
+ "ios",
36
+ ],
37
+ publicHeadersPath: "ios/generated/ReactCodegen",
38
+ cxxSettings: [
39
+ .headerSearchPath("ios/generated/ReactCodegen"),
40
+ // Match the NDEBUG-gated C++ ABI of the prebuilt React Native frameworks
41
+ .define("DEBUG", .when(configuration: .debug)),
42
+ .define("NDEBUG", .when(configuration: .release)),
43
+ ],
29
44
  linkerSettings: [
30
45
  .linkedFramework("Foundation"),
31
46
  .linkedFramework("Network"),
32
47
  ]
33
48
  ),
34
- ]
49
+ ],
50
+ cxxLanguageStandard: .cxx20
35
51
  )
package/README.md CHANGED
@@ -21,8 +21,6 @@ yarn add react-native-zeroconf
21
21
  cd ios && pod install
22
22
  ```
23
23
 
24
- > **1.0 release candidate:** one C++ native module on every platform, for React Native 0.82 and later (New Architecture, Expo SDK 55 and later). Try it with `npm install react-native-zeroconf@next`, see [what changes from 0.17](https://zeroconf.balthazar.dev/Migrating-to-1.0). The documentation covers 0.17, which stays the default and keeps getting bug fixes.
25
-
26
24
  On iOS, declare the service types you use in `NSBonjourServices`, see [Permissions and Setup](https://zeroconf.balthazar.dev/Permissions-and-Setup). Expo works with development builds, see [Installation with Expo](https://zeroconf.balthazar.dev/Installation-Expo).
27
25
 
28
26
  ## Usage
@@ -62,4 +60,4 @@ zeroconf.scan({ type: 'http' })
62
60
 
63
61
  ## License
64
62
 
65
- MIT, see [LICENSE](LICENSE). Includes [RxDNSSD](https://github.com/discord/RxDNSSD) (Apache 2.0, see [NOTICE](NOTICE)) and Apple's mDNSResponder (mostly Apache 2.0, see its [LICENSE](android/src/main/jni/mdnsresponder/LICENSE)).
63
+ MIT, see [LICENSE](LICENSE). Includes Apple's mDNSResponder for Android `DNSSD` (mostly Apache 2.0, see its [LICENSE](android/src/main/jni/mdnsresponder/LICENSE)), as distributed with [RxDNSSD](https://github.com/discord/RxDNSSD) (Apache 2.0, see [NOTICE](NOTICE)).
@@ -0,0 +1,64 @@
1
+ # The C++ module on Android, built into the app's libappmodules.so by React Native's autolinking
2
+ # (react-native.config.js): the module, the NSD backend, the dns_sd backend and the mDNSResponder embedded for DNSSD
3
+ cmake_minimum_required(VERSION 3.13)
4
+ project(react-native-zeroconf)
5
+
6
+ set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/..)
7
+ set(MDNS ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jni/mdnsresponder)
8
+
9
+ # The embedded mDNSResponder, with the flags of the standalone build it comes from
10
+ add_library(rnzeroconf_mdns STATIC
11
+ ${MDNS}/mDNSCore/mDNS.c
12
+ ${MDNS}/mDNSCore/DNSDigest.c
13
+ ${MDNS}/mDNSCore/uDNS.c
14
+ ${MDNS}/mDNSCore/DNSCommon.c
15
+ ${MDNS}/mDNSPosix/mDNSPosix.c
16
+ ${MDNS}/mDNSPosix/mDNSUNP.c
17
+ ${MDNS}/mDNSPosix/PosixDaemon.c
18
+ ${MDNS}/mDNSShared/mDNSDebug.c
19
+ ${MDNS}/mDNSShared/dnssd_clientlib.c
20
+ ${MDNS}/mDNSShared/dnssd_clientshim.c
21
+ ${MDNS}/mDNSShared/dnssd_ipc.c
22
+ ${MDNS}/mDNSShared/GenLinkedList.c
23
+ ${MDNS}/mDNSShared/PlatformCommon.c
24
+ ${MDNS}/mDNSShared/uds_daemon.c
25
+ )
26
+ target_compile_definitions(rnzeroconf_mdns PRIVATE
27
+ _GNU_SOURCE HAVE_IPV6 HAVE_LINUX NOT_HAVE_SA_LEN PLATFORM_NO_RLIMIT TARGET_OS_LINUX USES_NETLINK
28
+ MDNS_DEBUGMSGS=0 MDNS_UDS_SERVERPATH="/dev/socket/mdnsd" MDNS_USERNAME="mdnsr"
29
+ SO_REUSEADDR UNICAST_DISABLED MDNS_VERSIONSTR_NODTS=1 EMBEDDED
30
+ )
31
+ set_source_files_properties(${MDNS}/mDNSPosix/PosixDaemon.c PROPERTIES
32
+ # The standalone daemon's main, unused here
33
+ COMPILE_DEFINITIONS main=mdnsd_main
34
+ )
35
+ target_compile_options(rnzeroconf_mdns PRIVATE -Os -fno-strict-aliasing -fwrapv -w)
36
+ target_include_directories(rnzeroconf_mdns
37
+ PUBLIC ${MDNS}/mDNSShared
38
+ PRIVATE ${MDNS}/mDNSPosix ${MDNS}/mDNSCore ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jni
39
+ )
40
+ target_link_libraries(rnzeroconf_mdns log)
41
+
42
+ add_library(react-native-zeroconf STATIC
43
+ ${ROOT}/cpp/Backend.cpp
44
+ ${ROOT}/cpp/ZeroconfModule.cpp
45
+ ${ROOT}/cpp/dnssd/DnssdBackend.cpp
46
+ ${ROOT}/cpp/embedded/EmbeddedExecutor.cpp
47
+ ${ROOT}/cpp/android/ZeroconfAndroidModule.cpp
48
+ ${ROOT}/cpp/android/NsdBackend.cpp
49
+ )
50
+ set_target_properties(react-native-zeroconf PROPERTIES
51
+ CXX_STANDARD 20
52
+ CXX_STANDARD_REQUIRED ON
53
+ CXX_EXTENSIONS OFF
54
+ )
55
+ # The autolinked module provider includes <ZeroconfAndroidModule.h>
56
+ target_include_directories(react-native-zeroconf PUBLIC ${ROOT}/cpp ${ROOT}/cpp/android)
57
+ target_link_libraries(react-native-zeroconf
58
+ jsi
59
+ reactnative
60
+ fbjni
61
+ react_codegen_RNZeroconfSpec
62
+ rnzeroconf_mdns
63
+ log
64
+ )
@@ -6,26 +6,12 @@ def safeExtGet(prop, fallback) {
6
6
 
7
7
  android {
8
8
  compileSdkVersion safeExtGet('compileSdkVersion', 34)
9
- ndkVersion safeExtGet('ndkVersion', '27.1.12297006')
10
9
 
11
10
  defaultConfig {
12
- minSdkVersion safeExtGet('minSdkVersion', 21)
11
+ minSdkVersion safeExtGet('minSdkVersion', 24)
13
12
  targetSdkVersion safeExtGet('targetSdkVersion', 34)
14
13
  versionCode 1
15
14
  versionName "1.0"
16
- // Instrumented tests (android/src/androidTest), see docs/Contributing.md
17
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
18
-
19
- ndk {
20
- abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
21
- }
22
-
23
- }
24
-
25
- externalNativeBuild {
26
- ndkBuild {
27
- path "src/main/jni/Android.mk"
28
- }
29
15
  }
30
16
 
31
17
  compileOptions {
@@ -44,6 +30,4 @@ repositories {
44
30
 
45
31
  dependencies {
46
32
  implementation "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}"
47
- androidTestImplementation 'androidx.test:runner:1.6.2'
48
- androidTestImplementation 'androidx.test.ext:junit:1.2.1'
49
33
  }
@@ -0,0 +1,96 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJavaSpec.js
9
+ *
10
+ * @nolint
11
+ */
12
+
13
+ package com.balthazargronon.RCTZeroconf;
14
+
15
+ import com.facebook.proguard.annotations.DoNotStrip;
16
+ import com.facebook.react.bridge.Promise;
17
+ import com.facebook.react.bridge.ReactApplicationContext;
18
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
19
+ import com.facebook.react.bridge.ReactMethod;
20
+ import com.facebook.react.bridge.ReadableArray;
21
+ import com.facebook.react.bridge.ReadableMap;
22
+ import com.facebook.react.turbomodule.core.interfaces.TurboModule;
23
+ import javax.annotation.Nonnull;
24
+
25
+ public abstract class NativeZeroconfSpec extends ReactContextBaseJavaModule implements TurboModule {
26
+ public static final String NAME = "Zeroconf";
27
+
28
+ public NativeZeroconfSpec(ReactApplicationContext reactContext) {
29
+ super(reactContext);
30
+ }
31
+
32
+ @Override
33
+ public @Nonnull String getName() {
34
+ return NAME;
35
+ }
36
+
37
+ protected final void emitOnStart(ReadableMap value) {
38
+ mEventEmitterCallback.invoke("onStart", value);
39
+ }
40
+
41
+ protected final void emitOnStop(ReadableMap value) {
42
+ mEventEmitterCallback.invoke("onStop", value);
43
+ }
44
+
45
+ protected final void emitOnFound(ReadableMap value) {
46
+ mEventEmitterCallback.invoke("onFound", value);
47
+ }
48
+
49
+ protected final void emitOnRemove(ReadableMap value) {
50
+ mEventEmitterCallback.invoke("onRemove", value);
51
+ }
52
+
53
+ protected final void emitOnResolved(ReadableMap value) {
54
+ mEventEmitterCallback.invoke("onResolved", value);
55
+ }
56
+
57
+ protected final void emitOnError(ReadableMap value) {
58
+ mEventEmitterCallback.invoke("onError", value);
59
+ }
60
+
61
+ protected final void emitOnPublished(ReadableMap value) {
62
+ mEventEmitterCallback.invoke("onPublished", value);
63
+ }
64
+
65
+ protected final void emitOnUnpublished(ReadableMap value) {
66
+ mEventEmitterCallback.invoke("onUnpublished", value);
67
+ }
68
+
69
+ @ReactMethod
70
+ @DoNotStrip
71
+ public abstract void scan(String scanId, String type, String protocol, String domain, String implType, ReadableMap options);
72
+
73
+ @ReactMethod
74
+ @DoNotStrip
75
+ public abstract void stop(String scanId, String implType);
76
+
77
+ @ReactMethod
78
+ @DoNotStrip
79
+ public abstract void registerService(String type, String protocol, String domain, String name, double port, ReadableArray txt, String implType, ReadableMap options, Promise promise);
80
+
81
+ @ReactMethod
82
+ @DoNotStrip
83
+ public abstract void updateService(String name, ReadableArray txt, String implType, Promise promise);
84
+
85
+ @ReactMethod
86
+ @DoNotStrip
87
+ public abstract void unregisterService(String name, String implType, Promise promise);
88
+
89
+ @ReactMethod
90
+ @DoNotStrip
91
+ public abstract void resolveService(String name, String type, String protocol, String domain, String implType, ReadableMap options, Promise promise);
92
+
93
+ @ReactMethod
94
+ @DoNotStrip
95
+ public abstract void checkLocalNetworkAccess(String type, double timeout, Promise promise);
96
+ }
@@ -0,0 +1,28 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ cmake_minimum_required(VERSION 3.13)
7
+ set(CMAKE_VERBOSE_MAKEFILE on)
8
+
9
+ file(GLOB react_codegen_SRCS CONFIGURE_DEPENDS *.cpp react/renderer/components/RNZeroconfSpec/*.cpp)
10
+
11
+ add_library(
12
+ react_codegen_RNZeroconfSpec
13
+ OBJECT
14
+ ${react_codegen_SRCS}
15
+ )
16
+
17
+ target_include_directories(react_codegen_RNZeroconfSpec PUBLIC . react/renderer/components/RNZeroconfSpec)
18
+
19
+ target_link_libraries(
20
+ react_codegen_RNZeroconfSpec
21
+ fbjni
22
+ jsi
23
+ # We need to link different libraries based on whether we are building rncore or not, that's necessary
24
+ # because we want to break a circular dependency between react_codegen_rncore and reactnative
25
+ reactnative
26
+ )
27
+
28
+ target_compile_reactnative_options(react_codegen_RNZeroconfSpec PRIVATE)
@@ -0,0 +1,77 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJniCpp.js
9
+ */
10
+
11
+ #include "RNZeroconfSpec.h"
12
+
13
+ namespace facebook::react {
14
+
15
+ static facebook::jsi::Value __hostFunction_NativeZeroconfSpecJSI_scan(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
16
+ static jmethodID cachedMethodId = nullptr;
17
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "scan", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/ReadableMap;)V", args, count, cachedMethodId);
18
+ }
19
+
20
+ static facebook::jsi::Value __hostFunction_NativeZeroconfSpecJSI_stop(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
21
+ static jmethodID cachedMethodId = nullptr;
22
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "stop", "(Ljava/lang/String;Ljava/lang/String;)V", args, count, cachedMethodId);
23
+ }
24
+
25
+ static facebook::jsi::Value __hostFunction_NativeZeroconfSpecJSI_registerService(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
26
+ static jmethodID cachedMethodId = nullptr;
27
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "registerService", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;DLcom/facebook/react/bridge/ReadableArray;Ljava/lang/String;Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
28
+ }
29
+
30
+ static facebook::jsi::Value __hostFunction_NativeZeroconfSpecJSI_updateService(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
31
+ static jmethodID cachedMethodId = nullptr;
32
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "updateService", "(Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
33
+ }
34
+
35
+ static facebook::jsi::Value __hostFunction_NativeZeroconfSpecJSI_unregisterService(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
36
+ static jmethodID cachedMethodId = nullptr;
37
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "unregisterService", "(Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
38
+ }
39
+
40
+ static facebook::jsi::Value __hostFunction_NativeZeroconfSpecJSI_resolveService(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
41
+ static jmethodID cachedMethodId = nullptr;
42
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "resolveService", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
43
+ }
44
+
45
+ static facebook::jsi::Value __hostFunction_NativeZeroconfSpecJSI_checkLocalNetworkAccess(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
46
+ static jmethodID cachedMethodId = nullptr;
47
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "checkLocalNetworkAccess", "(Ljava/lang/String;DLcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
48
+ }
49
+
50
+ NativeZeroconfSpecJSI::NativeZeroconfSpecJSI(const JavaTurboModule::InitParams &params)
51
+ : JavaTurboModule(params) {
52
+ methodMap_["scan"] = MethodMetadata {6, __hostFunction_NativeZeroconfSpecJSI_scan};
53
+ methodMap_["stop"] = MethodMetadata {2, __hostFunction_NativeZeroconfSpecJSI_stop};
54
+ methodMap_["registerService"] = MethodMetadata {8, __hostFunction_NativeZeroconfSpecJSI_registerService};
55
+ methodMap_["updateService"] = MethodMetadata {3, __hostFunction_NativeZeroconfSpecJSI_updateService};
56
+ methodMap_["unregisterService"] = MethodMetadata {2, __hostFunction_NativeZeroconfSpecJSI_unregisterService};
57
+ methodMap_["resolveService"] = MethodMetadata {6, __hostFunction_NativeZeroconfSpecJSI_resolveService};
58
+ methodMap_["checkLocalNetworkAccess"] = MethodMetadata {2, __hostFunction_NativeZeroconfSpecJSI_checkLocalNetworkAccess};
59
+ eventEmitterMap_["onStart"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
60
+ eventEmitterMap_["onStop"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
61
+ eventEmitterMap_["onFound"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
62
+ eventEmitterMap_["onRemove"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
63
+ eventEmitterMap_["onResolved"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
64
+ eventEmitterMap_["onError"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
65
+ eventEmitterMap_["onPublished"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
66
+ eventEmitterMap_["onUnpublished"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
67
+ configureEventEmitterCallback();
68
+ }
69
+
70
+ std::shared_ptr<TurboModule> RNZeroconfSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
71
+ if (moduleName == "Zeroconf") {
72
+ return std::make_shared<NativeZeroconfSpecJSI>(params);
73
+ }
74
+ return nullptr;
75
+ }
76
+
77
+ } // namespace facebook::react
@@ -0,0 +1,31 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateModuleJniH.js
9
+ */
10
+
11
+ #pragma once
12
+
13
+ #include <ReactCommon/JavaTurboModule.h>
14
+ #include <ReactCommon/TurboModule.h>
15
+ #include <jsi/jsi.h>
16
+
17
+ namespace facebook::react {
18
+
19
+ /**
20
+ * JNI C++ class for module 'NativeZeroconf'
21
+ */
22
+ class JSI_EXPORT NativeZeroconfSpecJSI : public JavaTurboModule {
23
+ public:
24
+ NativeZeroconfSpecJSI(const JavaTurboModule::InitParams &params);
25
+ };
26
+
27
+
28
+ JSI_EXPORT
29
+ std::shared_ptr<TurboModule> RNZeroconfSpec_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params);
30
+
31
+ } // namespace facebook::react