react-native-zeroconf 0.17.3 → 1.0.0-rc.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.
Files changed (114) hide show
  1. package/NOTICE +2 -6
  2. package/README.md +1 -1
  3. package/android/CMakeLists.txt +64 -0
  4. package/android/build.gradle +1 -17
  5. package/android/generated/java/com/balthazargronon/RCTZeroconf/NativeZeroconfSpec.java +96 -0
  6. package/android/generated/jni/CMakeLists.txt +28 -0
  7. package/android/generated/jni/RNZeroconfSpec-generated.cpp +77 -0
  8. package/android/generated/jni/RNZeroconfSpec.h +31 -0
  9. package/android/generated/jni/react/renderer/components/RNZeroconfSpec/RNZeroconfSpecJSI.h +798 -0
  10. package/android/src/main/java/com/balthazargronon/RCTZeroconf/{ZeroconfModule.java → NsdHost.java} +97 -140
  11. package/android/src/main/java/com/balthazargronon/RCTZeroconf/NsdPayload.java +87 -0
  12. package/android/src/main/java/com/balthazargronon/RCTZeroconf/NsdPromise.java +40 -0
  13. package/android/src/main/java/com/balthazargronon/RCTZeroconf/Zeroconf.java +4 -6
  14. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfNativeSupport.java +60 -0
  15. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfOptions.java +15 -26
  16. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfReactPackage.java +5 -15
  17. package/android/src/main/java/com/balthazargronon/RCTZeroconf/nsd/NsdServiceImpl.java +90 -96
  18. package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientshim.c +31 -6
  19. package/cpp/Backend.cpp +16 -0
  20. package/cpp/Backend.h +116 -0
  21. package/cpp/ZeroconfModule.cpp +280 -0
  22. package/cpp/ZeroconfModule.h +144 -0
  23. package/cpp/android/NsdBackend.cpp +462 -0
  24. package/cpp/android/NsdBackend.h +61 -0
  25. package/cpp/android/ZeroconfAndroidModule.cpp +49 -0
  26. package/cpp/android/ZeroconfAndroidModule.h +15 -0
  27. package/cpp/apple/DispatchExecutor.cpp +66 -0
  28. package/cpp/apple/DispatchExecutor.h +37 -0
  29. package/cpp/apple/LocalNetworkAccess.h +19 -0
  30. package/cpp/apple/LocalNetworkAccess.mm +87 -0
  31. package/cpp/dnssd/DnssdBackend.cpp +976 -0
  32. package/cpp/dnssd/DnssdBackend.h +114 -0
  33. package/cpp/dnssd/Executor.h +28 -0
  34. package/cpp/embedded/EmbeddedExecutor.cpp +124 -0
  35. package/cpp/embedded/EmbeddedExecutor.h +57 -0
  36. package/ios/ZeroconfOnLoad.mm +34 -0
  37. package/ios/generated/ReactCodegen/RNZeroconfSpec/RNZeroconfSpec-generated.mm +140 -0
  38. package/ios/generated/ReactCodegen/RNZeroconfSpec/RNZeroconfSpec.h +189 -0
  39. package/ios/generated/ReactCodegen/RNZeroconfSpecJSI.h +798 -0
  40. package/lib/module/NativeZeroconf.js +15 -0
  41. package/lib/module/NativeZeroconf.js.map +1 -0
  42. package/lib/module/bridge.js +124 -0
  43. package/lib/module/bridge.js.map +1 -0
  44. package/{dist → lib/module}/index.js +149 -149
  45. package/lib/module/index.js.map +1 -0
  46. package/lib/module/package.json +1 -0
  47. package/lib/module/types.js +24 -0
  48. package/lib/module/types.js.map +1 -0
  49. package/lib/typescript/package.json +1 -0
  50. package/lib/typescript/src/NativeZeroconf.d.ts +75 -0
  51. package/lib/typescript/src/NativeZeroconf.d.ts.map +1 -0
  52. package/lib/typescript/src/bridge.d.ts +22 -0
  53. package/lib/typescript/src/bridge.d.ts.map +1 -0
  54. package/lib/typescript/src/index.d.ts +111 -0
  55. package/lib/typescript/src/index.d.ts.map +1 -0
  56. package/lib/typescript/src/types.d.ts +175 -0
  57. package/lib/typescript/src/types.d.ts.map +1 -0
  58. package/package.json +64 -29
  59. package/react-native-zeroconf.podspec +2 -1
  60. package/react-native.config.js +17 -0
  61. package/src/NativeZeroconf.ts +120 -0
  62. package/src/bridge.ts +153 -0
  63. package/src/index.ts +607 -0
  64. package/{index.d.ts → src/types.ts} +5 -99
  65. package/windows/RNZeroconf/RNZeroconf.vcxproj +17 -2
  66. package/windows/RNZeroconf/RNZeroconf.vcxproj.filters +0 -6
  67. package/windows/RNZeroconf/ReactPackageProvider.cpp +23 -20
  68. package/windows/RNZeroconf/WindowsBackend.cpp +156 -0
  69. package/windows/RNZeroconf/WindowsBackend.h +13 -0
  70. package/windows/RNZeroconf/ZeroconfCore.cpp +2 -2
  71. package/windows/RNZeroconf/ZeroconfCore.h +2 -2
  72. package/windows/RNZeroconf/ZeroconfWindowsModule.cpp +22 -0
  73. package/windows/RNZeroconf/ZeroconfWindowsModule.h +14 -0
  74. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroConfImplFactory.java +0 -56
  75. package/android/src/main/java/com/balthazargronon/RCTZeroconf/dnssd/DnssdImpl.java +0 -654
  76. package/android/src/main/java/com/github/druk/dnssd/BaseListener.java +0 -33
  77. package/android/src/main/java/com/github/druk/dnssd/BrowseListener.java +0 -67
  78. package/android/src/main/java/com/github/druk/dnssd/DNSRecord.java +0 -47
  79. package/android/src/main/java/com/github/druk/dnssd/DNSSD.java +0 -681
  80. package/android/src/main/java/com/github/druk/dnssd/DNSSDEmbedded.java +0 -198
  81. package/android/src/main/java/com/github/druk/dnssd/DNSSDException.java +0 -66
  82. package/android/src/main/java/com/github/druk/dnssd/DNSSDRecordRegistrar.java +0 -55
  83. package/android/src/main/java/com/github/druk/dnssd/DNSSDRegistration.java +0 -54
  84. package/android/src/main/java/com/github/druk/dnssd/DNSSDService.java +0 -35
  85. package/android/src/main/java/com/github/druk/dnssd/DomainListener.java +0 -57
  86. package/android/src/main/java/com/github/druk/dnssd/InternalBrowseListener.java +0 -76
  87. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSD.java +0 -870
  88. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRecordRegistrar.java +0 -30
  89. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRegistration.java +0 -34
  90. package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDService.java +0 -29
  91. package/android/src/main/java/com/github/druk/dnssd/InternalDomainListener.java +0 -62
  92. package/android/src/main/java/com/github/druk/dnssd/InternalQueryListener.java +0 -61
  93. package/android/src/main/java/com/github/druk/dnssd/InternalRegisterListener.java +0 -51
  94. package/android/src/main/java/com/github/druk/dnssd/InternalResolveListener.java +0 -58
  95. package/android/src/main/java/com/github/druk/dnssd/NSClass.java +0 -16
  96. package/android/src/main/java/com/github/druk/dnssd/NSType.java +0 -58
  97. package/android/src/main/java/com/github/druk/dnssd/QueryListener.java +0 -54
  98. package/android/src/main/java/com/github/druk/dnssd/RegisterListener.java +0 -46
  99. package/android/src/main/java/com/github/druk/dnssd/RegisterRecordListener.java +0 -35
  100. package/android/src/main/java/com/github/druk/dnssd/ResolveListener.java +0 -55
  101. package/android/src/main/java/com/github/druk/dnssd/TXTRecord.java +0 -293
  102. package/android/src/main/jni/Android.mk +0 -73
  103. package/android/src/main/jni/Application.mk +0 -3
  104. package/android/src/main/jni/DNSSD.java.h +0 -290
  105. package/android/src/main/jni/JNISupport.c +0 -1221
  106. package/ios/RNZeroconf/RNNetServiceSerializer.h +0 -31
  107. package/ios/RNZeroconf/RNNetServiceSerializer.m +0 -84
  108. package/ios/RNZeroconf/RNZeroconf.h +0 -17
  109. package/ios/RNZeroconf/RNZeroconf.m +0 -1025
  110. package/ios/RNZeroconf.xcodeproj/project.pbxproj +0 -261
  111. package/ios/RNZeroconf.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  112. package/src/index.js +0 -563
  113. package/windows/RNZeroconf/RNZeroconf.cpp +0 -228
  114. 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/README.md CHANGED
@@ -60,4 +60,4 @@ zeroconf.scan({ type: 'http' })
60
60
 
61
61
  ## License
62
62
 
63
- 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