react-native-zeroconf 0.15.1 → 0.16.0

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 (231) hide show
  1. package/README.md +27 -536
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/com/balthazargronon/RCTZeroconf/Zeroconf.java +16 -4
  4. package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfModule.java +95 -13
  5. package/android/src/main/java/com/balthazargronon/RCTZeroconf/nsd/NsdServiceImpl.java +184 -64
  6. package/android/src/main/java/com/balthazargronon/RCTZeroconf/nsd/ServiceInfoCallbacks.java +89 -0
  7. package/android/src/main/java/com/balthazargronon/RCTZeroconf/rx2dnssd/DnssdImpl.java +114 -39
  8. package/android/src/main/jni/Android.mk +1 -24
  9. package/android/src/main/jni/Application.mk +1 -1
  10. package/dist/index.js +244 -27
  11. package/index.d.ts +95 -9
  12. package/ios/RNZeroconf/RNNetServiceSerializer.h +10 -2
  13. package/ios/RNZeroconf/RNNetServiceSerializer.m +51 -59
  14. package/ios/RNZeroconf/RNZeroconf.h +1 -3
  15. package/ios/RNZeroconf/RNZeroconf.m +648 -142
  16. package/package.json +39 -1
  17. package/react-native-zeroconf.podspec +12 -6
  18. package/src/index.js +222 -31
  19. package/android/src/main/java/com/github/druk/dnssd/DNSSDBindable.java +0 -67
  20. package/android/src/main/java/com/github/druk/rx2dnssd/Rx2DnssdBindable.java +0 -35
  21. package/android/src/main/jni/mdnsresponder/Android.bp +0 -215
  22. package/android/src/main/jni/mdnsresponder/Clients/ClientCommon.c +0 -75
  23. package/android/src/main/jni/mdnsresponder/Clients/ClientCommon.h +0 -41
  24. package/android/src/main/jni/mdnsresponder/Clients/Makefile +0 -54
  25. package/android/src/main/jni/mdnsresponder/Clients/ReadMe.txt +0 -25
  26. package/android/src/main/jni/mdnsresponder/Clients/dns-sd.c +0 -1351
  27. package/android/src/main/jni/mdnsresponder/Makefile +0 -41
  28. package/android/src/main/jni/mdnsresponder/PrivateDNS.txt +0 -275
  29. package/android/src/main/jni/mdnsresponder/android/caseMapping/Iphlpapi.h +0 -1
  30. package/android/src/main/jni/mdnsresponder/android/caseMapping/README +0 -3
  31. package/android/src/main/jni/mdnsresponder/android/caseMapping/Resource.h +0 -1
  32. package/android/src/main/jni/mdnsresponder/android/caseMapping/Ws2tcpip.h +0 -1
  33. package/android/src/main/jni/mdnsresponder/android/caseMapping/ipExport.h +0 -1
  34. package/android/src/main/jni/mdnsresponder/android/windows_firewall_dummy.c +0 -10
  35. package/android/src/main/jni/mdnsresponder/mDNSCore/Implementer Notes.txt +0 -66
  36. package/android/src/main/jni/mdnsresponder/mDNSPosix/Client.c +0 -223
  37. package/android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.c +0 -91
  38. package/android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.h +0 -18
  39. package/android/src/main/jni/mdnsresponder/mDNSPosix/Identify.c +0 -378
  40. package/android/src/main/jni/mdnsresponder/mDNSPosix/Makefile +0 -520
  41. package/android/src/main/jni/mdnsresponder/mDNSPosix/NetMonitor.c +0 -1010
  42. package/android/src/main/jni/mdnsresponder/mDNSPosix/ProxyResponder.c +0 -300
  43. package/android/src/main/jni/mdnsresponder/mDNSPosix/ReadMe.txt +0 -314
  44. package/android/src/main/jni/mdnsresponder/mDNSPosix/Responder.c +0 -792
  45. package/android/src/main/jni/mdnsresponder/mDNSPosix/Services.txt +0 -36
  46. package/android/src/main/jni/mdnsresponder/mDNSPosix/libnss_mdns.8 +0 -148
  47. package/android/src/main/jni/mdnsresponder/mDNSPosix/mdnsd.sh +0 -73
  48. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_ReadMe.txt +0 -125
  49. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.c +0 -2723
  50. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf +0 -13
  51. package/android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf.5 +0 -135
  52. package/android/src/main/jni/mdnsresponder/mDNSPosix/parselog.py +0 -247
  53. package/android/src/main/jni/mdnsresponder/mDNSResponder.sln +0 -400
  54. package/android/src/main/jni/mdnsresponder/mDNSShared/DebugServices.c +0 -3075
  55. package/android/src/main/jni/mdnsresponder/mDNSShared/dns-sd.1 +0 -194
  56. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.8 +0 -69
  57. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.c +0 -3146
  58. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.conf +0 -60
  59. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_lexer.l +0 -84
  60. package/android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_parser.y +0 -585
  61. package/android/src/main/jni/mdnsresponder/mDNSShared/mDNS.1 +0 -198
  62. package/android/src/main/jni/mdnsresponder/mDNSShared/mDNSResponder.8 +0 -116
  63. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/BrowsingPage.cpp +0 -441
  64. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/BrowsingPage.h +0 -156
  65. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigDialog.cpp +0 -59
  66. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigDialog.h +0 -48
  67. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp +0 -301
  68. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ConfigPropertySheet.h +0 -105
  69. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.cpp +0 -380
  70. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.def +0 -20
  71. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.h +0 -84
  72. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.rc +0 -141
  73. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.vcproj +0 -727
  74. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelDll.rc +0 -123
  75. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp +0 -373
  76. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.h +0 -48
  77. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.rc +0 -123
  78. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelExe.vcproj +0 -764
  79. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelLocRes.rc +0 -270
  80. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelLocRes.vcproj +0 -487
  81. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelRes.rc +0 -134
  82. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ControlPanelRes.vcproj +0 -518
  83. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/FourthPage.cpp +0 -197
  84. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/FourthPage.h +0 -87
  85. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/RegistrationPage.cpp +0 -387
  86. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/RegistrationPage.h +0 -75
  87. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SecondPage.cpp +0 -544
  88. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SecondPage.h +0 -107
  89. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ServicesPage.cpp +0 -273
  90. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/ServicesPage.h +0 -123
  91. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SharedSecret.cpp +0 -115
  92. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/SharedSecret.h +0 -54
  93. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.dll.manifest +0 -10
  94. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.exe.manifest +0 -17
  95. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.manifest +0 -17
  96. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel.rc2 +0 -13
  97. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/ControlPanel64.manifest +0 -17
  98. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/EnergySaver.ico +0 -0
  99. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/controlpanel.ico +0 -0
  100. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/failure.ico +0 -0
  101. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/res/success.ico +0 -0
  102. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/resource.h +0 -56
  103. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/stdafx.cpp +0 -20
  104. package/android/src/main/jni/mdnsresponder/mDNSWindows/ControlPanel/stdafx.h +0 -64
  105. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dll.aps +0 -0
  106. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dll.rc +0 -102
  107. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dllmain.c +0 -112
  108. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dnssd.def +0 -48
  109. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/dnssd.vcproj +0 -472
  110. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL/resource.h +0 -27
  111. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/AssemblyInfo.cpp +0 -84
  112. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/PString.h +0 -70
  113. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/Stdafx.cpp +0 -22
  114. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/Stdafx.h +0 -33
  115. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.cpp +0 -1234
  116. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.h +0 -1392
  117. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.ico +0 -0
  118. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.rc +0 -113
  119. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/dnssd_NET.vcproj +0 -446
  120. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLL.NET/resource.h +0 -3
  121. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.cpp +0 -693
  122. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.h +0 -52
  123. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLStub/DLLStub.vcproj +0 -324
  124. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.cpp +0 -208
  125. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.def +0 -35
  126. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.idl +0 -491
  127. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.rc +0 -126
  128. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.rgs +0 -11
  129. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DLLX.vcproj +0 -625
  130. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSD.cpp +0 -892
  131. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.cpp +0 -31
  132. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.h +0 -133
  133. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.rgs +0 -27
  134. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.cpp +0 -101
  135. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.h +0 -185
  136. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDRecord.rgs +0 -27
  137. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.cpp +0 -2095
  138. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.h +0 -429
  139. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/DNSSDService.rgs +0 -27
  140. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/StringServices.cpp +0 -344
  141. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/StringServices.h +0 -102
  142. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.cpp +0 -381
  143. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.h +0 -203
  144. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/TXTRecord.rgs +0 -27
  145. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/_IDNSSDEvents_CP.h +0 -358
  146. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/dlldatax.c +0 -51
  147. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/dlldatax.h +0 -49
  148. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/resource.h +0 -30
  149. package/android/src/main/jni/mdnsresponder/mDNSWindows/DLLX/stdafx.h +0 -88
  150. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2002.sln +0 -21
  151. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2002.vcproj +0 -253
  152. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2003.sln +0 -21
  153. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/ApplicationVS2003.vcproj +0 -267
  154. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.ico +0 -0
  155. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.rc +0 -323
  156. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Application.rc2 +0 -20
  157. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Resources/Resource.h +0 -53
  158. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/AboutDialog.cpp +0 -71
  159. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/AboutDialog.h +0 -62
  160. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/Application.cpp +0 -111
  161. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/Application.h +0 -68
  162. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp +0 -1426
  163. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h +0 -131
  164. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/LoginDialog.cpp +0 -109
  165. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/LoginDialog.h +0 -53
  166. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/StdAfx.cpp +0 -18
  167. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/StdAfx.h +0 -48
  168. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcc +0 -37
  169. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcp +0 -868
  170. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Application.vcw +0 -29
  171. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.ico +0 -0
  172. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc +0 -194
  173. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/Application.rc2 +0 -13
  174. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/newres.h +0 -28
  175. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Resources/resource.h +0 -22
  176. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.cpp +0 -92
  177. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/Application.h +0 -57
  178. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp +0 -394
  179. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.h +0 -84
  180. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.cpp +0 -18
  181. package/android/src/main/jni/mdnsresponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/StdAfx.h +0 -46
  182. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/Java.vcproj +0 -111
  183. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/jdns_sd.rc +0 -62
  184. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/makefile +0 -143
  185. package/android/src/main/jni/mdnsresponder/mDNSWindows/Java/makefile64 +0 -143
  186. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.aps +0 -0
  187. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.c +0 -581
  188. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.rc +0 -103
  189. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/NSPTool.vcproj +0 -409
  190. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/Prefix.h +0 -28
  191. package/android/src/main/jni/mdnsresponder/mDNSWindows/NSPTool/resource.h +0 -27
  192. package/android/src/main/jni/mdnsresponder/mDNSWindows/PosixCompat.c +0 -128
  193. package/android/src/main/jni/mdnsresponder/mDNSWindows/PosixCompat.h +0 -70
  194. package/android/src/main/jni/mdnsresponder/mDNSWindows/README.txt +0 -85
  195. package/android/src/main/jni/mdnsresponder/mDNSWindows/RegNames.h +0 -57
  196. package/android/src/main/jni/mdnsresponder/mDNSWindows/Secret.c +0 -338
  197. package/android/src/main/jni/mdnsresponder/mDNSWindows/Secret.h +0 -42
  198. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/EventLog.mc +0 -11
  199. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/EventLogMessages.bin +0 -0
  200. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Firewall.cpp +0 -484
  201. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Firewall.h +0 -79
  202. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Prefix.h +0 -30
  203. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.aps +0 -0
  204. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.c +0 -2669
  205. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.h +0 -30
  206. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.mcp +0 -0
  207. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.rc +0 -114
  208. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/Service.vcproj +0 -562
  209. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/main.c +0 -32
  210. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/res/mDNSResponder.manifest +0 -12
  211. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/res/mDNSResponder64.manifest +0 -12
  212. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/resource.h +0 -17
  213. package/android/src/main/jni/mdnsresponder/mDNSWindows/SystemService/resrc1.h +0 -15
  214. package/android/src/main/jni/mdnsresponder/mDNSWindows/VPCDetect.cpp +0 -165
  215. package/android/src/main/jni/mdnsresponder/mDNSWindows/VPCDetect.h +0 -36
  216. package/android/src/main/jni/mdnsresponder/mDNSWindows/WinServices.cpp +0 -93
  217. package/android/src/main/jni/mdnsresponder/mDNSWindows/WinServices.h +0 -34
  218. package/android/src/main/jni/mdnsresponder/mDNSWindows/WinVersRes.h +0 -35
  219. package/android/src/main/jni/mdnsresponder/mDNSWindows/isocode.h +0 -135
  220. package/android/src/main/jni/mdnsresponder/mDNSWindows/loclibrary.c +0 -268
  221. package/android/src/main/jni/mdnsresponder/mDNSWindows/loclibrary.h +0 -54
  222. package/android/src/main/jni/mdnsresponder/mDNSWindows/mDNSWin32.c +0 -5200
  223. package/android/src/main/jni/mdnsresponder/mDNSWindows/mDNSWin32.h +0 -208
  224. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/ReadMe.txt +0 -15
  225. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.aps +0 -0
  226. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.c +0 -2430
  227. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.def +0 -24
  228. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.rc +0 -104
  229. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/mdnsNSP.vcproj +0 -457
  230. package/android/src/main/jni/mdnsresponder/mDNSWindows/mdnsNSP/resource.h +0 -27
  231. package/android/src/main/jni/mdnsresponder/mdnsd.rc +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-zeroconf",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "description": "A Zeroconf discovery utility for react-native",
5
5
  "main": "dist",
6
6
  "types": "index.d.ts",
@@ -18,6 +18,43 @@
18
18
  "dist",
19
19
  "index.d.ts",
20
20
  "android",
21
+ "!android/src/main/jni/mdnsresponder/mDNSWindows",
22
+ "!android/src/main/jni/mdnsresponder/Clients",
23
+ "!android/src/main/jni/mdnsresponder/android",
24
+ "!android/src/main/jni/mdnsresponder/Makefile",
25
+ "!android/src/main/jni/mdnsresponder/mDNSResponder.sln",
26
+ "!android/src/main/jni/mdnsresponder/mdnsd.rc",
27
+ "!android/src/main/jni/mdnsresponder/Android.bp",
28
+ "!android/src/main/jni/mdnsresponder/PrivateDNS.txt",
29
+ "!android/src/main/jni/mdnsresponder/mDNSCore/Implementer Notes.txt",
30
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/Client.c",
31
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.c",
32
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/ExampleClientApp.h",
33
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/Identify.c",
34
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/NetMonitor.c",
35
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/ProxyResponder.c",
36
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/Responder.c",
37
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.c",
38
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf",
39
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/nss_mdns.conf.5",
40
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/nss_ReadMe.txt",
41
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/libnss_mdns.8",
42
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/mdnsd.sh",
43
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/parselog.py",
44
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/Makefile",
45
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/ReadMe.txt",
46
+ "!android/src/main/jni/mdnsresponder/mDNSPosix/Services.txt",
47
+ "!android/src/main/jni/mdnsresponder/mDNSShared/DebugServices.c",
48
+ "!android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.c",
49
+ "!android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.8",
50
+ "!android/src/main/jni/mdnsresponder/mDNSShared/dnsextd.conf",
51
+ "!android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_lexer.l",
52
+ "!android/src/main/jni/mdnsresponder/mDNSShared/dnsextd_parser.y",
53
+ "!android/src/main/jni/mdnsresponder/mDNSShared/dns-sd.1",
54
+ "!android/src/main/jni/mdnsresponder/mDNSShared/mDNS.1",
55
+ "!android/src/main/jni/mdnsresponder/mDNSShared/mDNSResponder.8",
56
+ "!android/build",
57
+ "!android/.gradle",
21
58
  "ios",
22
59
  "react-native-zeroconf.podspec",
23
60
  "NOTICE"
@@ -42,6 +79,7 @@
42
79
  "events": "^3.0.0"
43
80
  },
44
81
  "peerDependencies": {
82
+ "react": "*",
45
83
  "react-native": ">=0.60"
46
84
  },
47
85
  "devDependencies": {
@@ -10,12 +10,18 @@ Pod::Spec.new do |s|
10
10
 
11
11
  s.authors = package['author']
12
12
  s.homepage = package['homepage']
13
- s.ios.deployment_target = '9.0'
14
- s.macos.deployment_target = '10.13'
15
- s.tvos.deployment_target = '9.0'
16
-
17
- s.source = { :git => "https://github.com/balthazar/react-native-zeroconf.git", :tag => "v#{s.version}" }
13
+ # React Native's own minimum when available (RN 0.71+)
14
+ s.ios.deployment_target = respond_to?(:min_ios_version_supported, true) ? min_ios_version_supported : '13.4'
15
+ s.macos.deployment_target = '10.15'
16
+ s.tvos.deployment_target = '13.4'
17
+
18
+ s.source = { :git => "https://github.com/balthazar/react-native-zeroconf.git", :tag => "#{s.version}" }
18
19
  s.source_files = "ios/**/*.{h,m}"
20
+ s.frameworks = 'Network'
19
21
 
20
- s.dependency 'React-Core'
22
+ if respond_to?(:install_modules_dependencies, true)
23
+ install_modules_dependencies(s)
24
+ else
25
+ s.dependency 'React-Core'
26
+ end
21
27
  end
package/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react'
1
2
  import { Platform, NativeModules, DeviceEventEmitter } from 'react-native'
2
3
  import { EventEmitter } from 'events'
3
4
 
@@ -8,6 +9,72 @@ export const ImplType = {
8
9
  DNSSD: 'DNSSD',
9
10
  }
10
11
 
12
+ const SCAN_DEFAULTS = {
13
+ type: 'http',
14
+ protocol: 'tcp',
15
+ domain: 'local.',
16
+ implType: ImplType.NSD,
17
+ resolveTimeout: 5,
18
+ }
19
+
20
+ const PUBLISH_DEFAULTS = {
21
+ domain: 'local.',
22
+ txt: {},
23
+ implType: ImplType.NSD,
24
+ }
25
+
26
+ /**
27
+ * Merge options over defaults, ignoring undefined values
28
+ */
29
+ const withDefaults = (defaults, options) => {
30
+ const merged = { ...defaults }
31
+ Object.entries(options).forEach(([key, value]) => {
32
+ if (value !== undefined) {
33
+ merged[key] = value
34
+ }
35
+ })
36
+ return merged
37
+ }
38
+
39
+ const isOptionsObject = value => value !== null && typeof value === 'object'
40
+
41
+ // Each instance runs its own scan, identified by this id in native events
42
+ let instanceCount = 0
43
+
44
+ /**
45
+ * Error from a native { message, code, domain, serviceName } payload
46
+ */
47
+ const toError = payload => {
48
+ if (!payload || typeof payload !== 'object') {
49
+ return new Error(payload)
50
+ }
51
+ const error = new Error(payload.message)
52
+ error.code = payload.code
53
+ error.domain = payload.domain
54
+ if (payload.serviceName) {
55
+ error.serviceName = payload.serviceName
56
+ }
57
+ return error
58
+ }
59
+
60
+ /**
61
+ * Promise rejections carry the same payload as error events in userInfo
62
+ */
63
+ const toRejection = error =>
64
+ error && error.userInfo && error.userInfo.domain ? toError(error.userInfo) : error
65
+
66
+ /**
67
+ * Normalizes rejections, and marks the promise handled so callers that don't await it
68
+ * don't get unhandled rejection warnings (errors are also emitted as error events)
69
+ */
70
+ const asPromise = nativePromise => {
71
+ const promise = Promise.resolve(nativePromise).catch(error => {
72
+ throw toRejection(error)
73
+ })
74
+ promise.catch(() => {})
75
+ return promise
76
+ }
77
+
11
78
  const isIPv6 = address => address.includes(':')
12
79
 
13
80
  /**
@@ -42,6 +109,8 @@ export default class Zeroconf extends EventEmitter {
42
109
  this._publishedServices = {}
43
110
  this._publishedImplTypes = {}
44
111
  this._scanImplType = null
112
+ this._scanId = `zeroconf-${++instanceCount}`
113
+ this._hasScanned = false
45
114
  this._dListeners = {}
46
115
 
47
116
  this.addDeviceListeners()
@@ -55,33 +124,37 @@ export default class Zeroconf extends EventEmitter {
55
124
  return this.emit('error', new Error('RNZeroconf listeners already in place.'))
56
125
  }
57
126
 
58
- this._dListeners.start = DeviceEventEmitter.addListener('RNZeroconfStart', () =>
59
- this.emit('start'),
60
- )
127
+ this._dListeners.start = DeviceEventEmitter.addListener('RNZeroconfStart', payload => {
128
+ if (this._isOwnEvent(payload)) {
129
+ this.emit('start')
130
+ }
131
+ })
61
132
 
62
- this._dListeners.stop = DeviceEventEmitter.addListener('RNZeroconfStop', () =>
63
- this.emit('stop'),
64
- )
133
+ this._dListeners.stop = DeviceEventEmitter.addListener('RNZeroconfStop', payload => {
134
+ if (this._isOwnEvent(payload)) {
135
+ this.emit('stop')
136
+ }
137
+ })
65
138
 
66
139
  this._dListeners.error = DeviceEventEmitter.addListener('RNZeroconfError', err => {
67
- if (this.listenerCount('error') > 0) {
68
- this.emit('error', new Error(err))
140
+ if (this._isOwnEvent(err) && this.listenerCount('error') > 0) {
141
+ this.emit('error', toError(err))
69
142
  }
70
143
  })
71
144
 
72
145
  this._dListeners.found = DeviceEventEmitter.addListener('RNZeroconfFound', service => {
73
- if (!service || !service.name) {
146
+ if (!service || !service.name || !this._isOwnEvent(service)) {
74
147
  return
75
148
  }
76
149
  const { name } = service
77
150
 
78
- this._services[name] = service
151
+ this._services[name] = { name }
79
152
  this.emit('found', name)
80
153
  this.emit('update')
81
154
  })
82
155
 
83
156
  this._dListeners.remove = DeviceEventEmitter.addListener('RNZeroconfRemove', service => {
84
- if (!service || !service.name) {
157
+ if (!service || !service.name || !this._isOwnEvent(service)) {
85
158
  return
86
159
  }
87
160
  const { name } = service
@@ -93,11 +166,13 @@ export default class Zeroconf extends EventEmitter {
93
166
  })
94
167
 
95
168
  this._dListeners.resolved = DeviceEventEmitter.addListener('RNZeroconfResolved', data => {
96
- if (!data || !data.name) {
169
+ if (!data || !data.name || !this._isOwnEvent(data)) {
97
170
  return
98
171
  }
99
172
 
100
- const service = withAddressFamilies(data)
173
+ const resolved = { ...data }
174
+ delete resolved.scanId
175
+ const service = withAddressFamilies(resolved)
101
176
  this._services[service.name] = service
102
177
  this.emit('resolved', service)
103
178
  this.emit('update')
@@ -128,6 +203,25 @@ export default class Zeroconf extends EventEmitter {
128
203
  )
129
204
  }
130
205
 
206
+ /**
207
+ * Add a listener and get a function that removes it, handy in useEffect cleanups
208
+ */
209
+ subscribe(event, listener) {
210
+ this.on(event, listener)
211
+ return () => this.removeListener(event, listener)
212
+ }
213
+
214
+ /**
215
+ * Scan events belong to the instance that started the scan. Instances that never scanned still receive
216
+ * every scan's events, as before multiple scans, and events without a scan id (publishing) go to everyone.
217
+ */
218
+ _isOwnEvent(payload) {
219
+ if (!payload || typeof payload !== 'object' || payload.scanId == null || !this._hasScanned) {
220
+ return true
221
+ }
222
+ return payload.scanId === this._scanId
223
+ }
224
+
131
225
  /**
132
226
  * Remove all event listeners and clean map
133
227
  */
@@ -144,21 +238,31 @@ export default class Zeroconf extends EventEmitter {
144
238
  }
145
239
 
146
240
  /**
147
- * Scan for Zeroconf services,
148
- * Defaults to _http._tcp. on local domain
241
+ * Scan for Zeroconf services, defaults to _http._tcp. on the local. domain
242
+ *
243
+ * scan({ type, protocol, domain, implType, resolveTimeout })
244
+ * scan(type, protocol, domain, implType) is deprecated
149
245
  */
150
- scan(type = 'http', protocol = 'tcp', domain = 'local.', implType = ImplType.NSD) {
246
+ scan(options, protocolArg, domainArg, implTypeArg) {
247
+ const { type, protocol, domain, implType, resolveTimeout } = withDefaults(
248
+ SCAN_DEFAULTS,
249
+ isOptionsObject(options)
250
+ ? options
251
+ : { type: options, protocol: protocolArg, domain: domainArg, implType: implTypeArg },
252
+ )
253
+
151
254
  this._services = {}
255
+ this._hasScanned = true
152
256
  this.emit('update')
153
257
  if (Platform.OS === 'android') {
154
258
  if (this._scanImplType && implType !== this._scanImplType) {
155
- // Only one scan runs at a time, stop the one running on the other implementation
156
- RNZeroconf.stop(this._scanImplType)
259
+ // This instance's scan moves to the other implementation
260
+ RNZeroconf.stop(this._scanId, this._scanImplType)
157
261
  }
158
262
  this._scanImplType = implType
159
- RNZeroconf.scan(type, protocol, domain, implType)
263
+ RNZeroconf.scan(this._scanId, type, protocol, domain, implType)
160
264
  } else {
161
- RNZeroconf.scan(type, protocol, domain)
265
+ RNZeroconf.scan(this._scanId, type, protocol, domain, resolveTimeout)
162
266
  }
163
267
  }
164
268
 
@@ -168,35 +272,122 @@ export default class Zeroconf extends EventEmitter {
168
272
  */
169
273
  stop(implType = this._scanImplType || ImplType.NSD) {
170
274
  if (Platform.OS === 'android') {
171
- RNZeroconf.stop(implType)
275
+ RNZeroconf.stop(this._scanId, implType)
172
276
  } else {
173
- RNZeroconf.stop()
277
+ RNZeroconf.stop(this._scanId)
278
+ }
279
+ }
280
+
281
+ /**
282
+ * Checks the iOS Local Network permission, resolves 'granted', 'denied' or 'unknown'.
283
+ * Uses a service type from NSBonjourServices (the first one by default) and can show the permission prompt.
284
+ * Android has no equivalent permission to check and resolves 'unknown'.
285
+ */
286
+ checkLocalNetworkAccess({ type, protocol = 'tcp', timeout = 5 } = {}) {
287
+ if (Platform.OS === 'android') {
288
+ return Promise.resolve('unknown')
174
289
  }
290
+ const serviceType = type ? `_${type}._${protocol}` : null
291
+ return asPromise(RNZeroconf.checkLocalNetworkAccess(serviceType, timeout))
175
292
  }
176
293
 
177
294
  /**
178
- * Publish a service
295
+ * Publish a service, resolves with the published service once it is advertised.
296
+ * Its name can differ from the requested one when that name is already taken.
297
+ *
298
+ * publishService({ type, protocol, domain, name, port, txt, implType })
299
+ * publishService(type, protocol, domain, name, port, txt, implType) is deprecated
179
300
  */
180
- publishService(type, protocol, domain = 'local.', name, port, txt = {}, implType = ImplType.NSD) {
301
+ publishService(options, protocolArg, domainArg, nameArg, portArg, txtArg, implTypeArg) {
302
+ const { type, protocol, domain, name, port, txt, implType } = withDefaults(
303
+ PUBLISH_DEFAULTS,
304
+ isOptionsObject(options)
305
+ ? options
306
+ : {
307
+ type: options,
308
+ protocol: protocolArg,
309
+ domain: domainArg,
310
+ name: nameArg,
311
+ port: portArg,
312
+ txt: txtArg,
313
+ implType: implTypeArg,
314
+ },
315
+ )
181
316
  const txtRecord = toTxtPairs(txt)
182
317
  if (Platform.OS === 'android') {
183
318
  this._publishedImplTypes[name] = implType
184
- RNZeroconf.registerService(type, protocol, domain, name, port, txtRecord, implType)
185
- } else {
186
- RNZeroconf.registerService(type, protocol, domain, name, port, txtRecord)
319
+ return asPromise(
320
+ RNZeroconf.registerService(type, protocol, domain, name, port, txtRecord, implType),
321
+ )
187
322
  }
323
+ return asPromise(RNZeroconf.registerService(type, protocol, domain, name, port, txtRecord))
188
324
  }
189
325
 
190
326
  /**
191
- * Unpublish a service,
327
+ * Unpublish a service, resolves once it is no longer advertised.
192
328
  * Defaults to the implementation the service was published with
193
329
  */
194
330
  unpublishService(name, implType = this._publishedImplTypes[name] || ImplType.NSD) {
195
331
  if (Platform.OS === 'android') {
196
332
  delete this._publishedImplTypes[name]
197
- RNZeroconf.unregisterService(name, implType)
198
- } else {
199
- RNZeroconf.unregisterService(name)
333
+ return asPromise(RNZeroconf.unregisterService(name, implType))
200
334
  }
335
+ return asPromise(RNZeroconf.unregisterService(name))
201
336
  }
202
337
  }
338
+
339
+ /**
340
+ * Scans while mounted and returns the resolved services.
341
+ * Scans again when the options change, stops and cleans up on unmount.
342
+ * Each hook runs its own scan, several can run at once.
343
+ *
344
+ * const { services, isScanning, error, stop, restart } = useZeroconf({ type: 'http' })
345
+ */
346
+ export function useZeroconf(options = {}) {
347
+ const { type, protocol, domain, implType, resolveTimeout, enabled = true } = options
348
+ const zeroconfRef = useRef(null)
349
+ const [services, setServices] = useState([])
350
+ const [isScanning, setIsScanning] = useState(false)
351
+ const [error, setError] = useState(null)
352
+ const [scanCount, setScanCount] = useState(0)
353
+
354
+ useEffect(() => {
355
+ const zeroconf = new Zeroconf()
356
+ zeroconfRef.current = zeroconf
357
+ // Found services only have a name until they are resolved
358
+ const updateServices = () =>
359
+ setServices(Object.values(zeroconf.getServices()).filter(service => service.addresses))
360
+ const unsubscribes = [
361
+ zeroconf.subscribe('start', () => setIsScanning(true)),
362
+ zeroconf.subscribe('stop', () => setIsScanning(false)),
363
+ zeroconf.subscribe('update', updateServices),
364
+ zeroconf.subscribe('error', setError),
365
+ ]
366
+ return () => {
367
+ unsubscribes.forEach(unsubscribe => unsubscribe())
368
+ zeroconf.stop()
369
+ zeroconf.removeDeviceListeners()
370
+ zeroconfRef.current = null
371
+ }
372
+ }, [])
373
+
374
+ useEffect(() => {
375
+ const zeroconf = zeroconfRef.current
376
+ if (!zeroconf || !enabled) {
377
+ return undefined
378
+ }
379
+ setServices([])
380
+ setError(null)
381
+ zeroconf.scan({ type, protocol, domain, implType, resolveTimeout })
382
+ return () => zeroconf.stop()
383
+ }, [enabled, type, protocol, domain, implType, resolveTimeout, scanCount])
384
+
385
+ const stop = useCallback(() => {
386
+ if (zeroconfRef.current) {
387
+ zeroconfRef.current.stop()
388
+ }
389
+ }, [])
390
+ const restart = useCallback(() => setScanCount(count => count + 1), [])
391
+
392
+ return { services, isScanning, error, stop, restart }
393
+ }
@@ -1,67 +0,0 @@
1
- /*
2
- * Copyright (C) 2016 Andriy Druk
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- package com.github.druk.dnssd;
18
-
19
- import android.annotation.TargetApi;
20
- import android.content.Context;
21
- import android.os.Build;
22
- import android.util.Log;
23
-
24
- /**
25
- * RxDnssdBindable is implementation of RxDnssd with system's daemon {@link InternalDNSSD}
26
- */
27
- @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
28
- public final class DNSSDBindable extends DNSSD {
29
-
30
- private static final String TAG = "DNSSDBindable";
31
- private final Context context;
32
-
33
- public DNSSDBindable(Context context) {
34
- super(context, "jdns_sd");
35
- this.context = context.getApplicationContext();
36
- }
37
-
38
- @Override
39
- public void onServiceStarting() {
40
- super.onServiceStarting();
41
- try {
42
- context.getSystemService(Context.NSD_SERVICE);
43
- }
44
- catch (Exception e) {
45
- Log.e(TAG, "Can't start NSD_SERVICE: ", e);
46
- }
47
- }
48
-
49
- @Override
50
- public void onServiceStopped() {
51
- super.onServiceStopped();
52
- // Not used in bindable version
53
- }
54
-
55
- /** Return the canonical name of a particular interface index.<P>
56
- @param ifIndex
57
- A valid interface index. Must not be ALL_INTERFACES.
58
- <P>
59
- @return The name of the interface, which should match java.net.NetworkInterface.getName().
60
-
61
- @throws SecurityException If a security manager is present and denies <tt>RuntimePermission("getDNSSDInstance")</tt>.
62
- @see RuntimePermission
63
- */
64
- public String getNameForIfIndex(int ifIndex) {
65
- return InternalDNSSD.getNameForIfIndex(ifIndex);
66
- }
67
- }
@@ -1,35 +0,0 @@
1
- /*
2
- * Copyright (C) 2016 Andriy Druk
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- package com.github.druk.rx2dnssd;
17
-
18
- import android.annotation.TargetApi;
19
- import android.content.Context;
20
- import android.os.Build;
21
-
22
- import com.github.druk.dnssd.DNSSD;
23
- import com.github.druk.dnssd.DNSSDBindable;
24
-
25
- /**
26
- * RxDnssdBindable is implementation of RxDnssd with system's daemon {@link DNSSD}
27
- */
28
- @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
29
- public class Rx2DnssdBindable extends Rx2DnssdCommon {
30
-
31
- public Rx2DnssdBindable(Context context) {
32
- super(new DNSSDBindable(context));
33
- }
34
-
35
- }