react-native-zeroconf 0.15.2 → 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 +642 -175
  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
@@ -1,1234 +0,0 @@
1
- /* -*- Mode: C; tab-width: 4 -*-
2
- *
3
- * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- // This is the main DLL file.
19
-
20
- #include "stdafx.h"
21
-
22
- #include "dnssd_NET.h"
23
- #include "DebugServices.h"
24
- #include "PString.h"
25
-
26
-
27
- using namespace System::Net::Sockets;
28
- using namespace System::Diagnostics;
29
- using namespace Apple;
30
- using namespace Apple::DNSSD;
31
-
32
-
33
- //===========================================================================================================================
34
- // Constants
35
- //===========================================================================================================================
36
-
37
- #define DEBUG_NAME "[dnssd.NET] "
38
-
39
- //
40
- // ConvertToString
41
- //
42
- static String*
43
- ConvertToString(const char * utf8String)
44
- {
45
- return __gc new String(utf8String, 0, strlen(utf8String), __gc new UTF8Encoding(true, true));
46
- }
47
-
48
-
49
- //
50
- // class ServiceRef
51
- //
52
- // ServiceRef serves as the base class for all DNSService operations.
53
- //
54
- // It manages the DNSServiceRef, and implements processing the
55
- // result
56
- //
57
- ServiceRef::ServiceRef(Object * callback)
58
- :
59
- m_bDisposed(false),
60
- m_callback(callback),
61
- m_thread(NULL)
62
- {
63
- m_impl = new ServiceRefImpl(this);
64
- }
65
-
66
-
67
- ServiceRef::~ServiceRef()
68
- {
69
- }
70
-
71
-
72
- //
73
- // StartThread
74
- //
75
- // Starts the main processing thread
76
- //
77
- void
78
- ServiceRef::StartThread()
79
- {
80
- check( m_impl != NULL );
81
-
82
- m_impl->SetupEvents();
83
-
84
- m_thread = new Thread(new ThreadStart(this, &Apple::DNSSD::ServiceRef::ProcessingThread));
85
- m_thread->Name = S"DNSService Thread";
86
- m_thread->IsBackground = true;
87
-
88
- m_thread->Start();
89
- }
90
-
91
-
92
- //
93
- // ProcessingThread
94
- //
95
- // The Thread class can only invoke methods in MC++ types. So we
96
- // make a ProcessingThread method that forwards to the impl
97
- //
98
- void
99
- ServiceRef::ProcessingThread()
100
- {
101
- m_impl->ProcessingThread();
102
- }
103
-
104
-
105
- //
106
- // Dispose
107
- //
108
- // Calls impl-Dispose(). This ultimately will call DNSServiceRefDeallocate()
109
- //
110
- void
111
- ServiceRef::Dispose()
112
- {
113
- check(m_impl != NULL);
114
- check(m_bDisposed == false);
115
-
116
- if (!m_bDisposed)
117
- {
118
- m_bDisposed = true;
119
-
120
- //
121
- // Call Dispose. This won't call DNSServiceRefDeallocate()
122
- // necessarily. It depends on what thread this is being
123
- // called in.
124
- //
125
- m_impl->Dispose();
126
- m_impl = NULL;
127
-
128
- m_thread = NULL;
129
-
130
- GC::SuppressFinalize(this);
131
- }
132
- }
133
-
134
-
135
- //
136
- // EnumerateDomainsDispatch
137
- //
138
- // Dispatch a reply to the delegate.
139
- //
140
- void
141
- ServiceRef::EnumerateDomainsDispatch
142
- (
143
- ServiceFlags flags,
144
- int interfaceIndex,
145
- ErrorCode errorCode,
146
- String * replyDomain
147
- )
148
- {
149
- if ((m_callback != NULL) && (m_impl != NULL))
150
- {
151
- DNSService::EnumerateDomainsReply * OnEnumerateDomainsReply = static_cast<DNSService::EnumerateDomainsReply*>(m_callback);
152
- OnEnumerateDomainsReply(this, flags, interfaceIndex, errorCode, replyDomain);
153
- }
154
- }
155
-
156
-
157
- //
158
- // RegisterDispatch
159
- //
160
- // Dispatch a reply to the delegate.
161
- //
162
- void
163
- ServiceRef::RegisterDispatch
164
- (
165
- ServiceFlags flags,
166
- ErrorCode errorCode,
167
- String * name,
168
- String * regtype,
169
- String * domain
170
- )
171
- {
172
- if ((m_callback != NULL) && (m_impl != NULL))
173
- {
174
- DNSService::RegisterReply * OnRegisterReply = static_cast<DNSService::RegisterReply*>(m_callback);
175
- OnRegisterReply(this, flags, errorCode, name, regtype, domain);
176
- }
177
- }
178
-
179
-
180
- //
181
- // BrowseDispatch
182
- //
183
- // Dispatch a reply to the delegate.
184
- //
185
- void
186
- ServiceRef::BrowseDispatch
187
- (
188
- ServiceFlags flags,
189
- int interfaceIndex,
190
- ErrorCode errorCode,
191
- String * serviceName,
192
- String * regtype,
193
- String * replyDomain
194
- )
195
- {
196
- if ((m_callback != NULL) && (m_impl != NULL))
197
- {
198
- DNSService::BrowseReply * OnBrowseReply = static_cast<DNSService::BrowseReply*>(m_callback);
199
- OnBrowseReply(this, flags, interfaceIndex, errorCode, serviceName, regtype, replyDomain);
200
- }
201
- }
202
-
203
-
204
- //
205
- // ResolveDispatch
206
- //
207
- // Dispatch a reply to the delegate.
208
- //
209
- void
210
- ServiceRef::ResolveDispatch
211
- (
212
- ServiceFlags flags,
213
- int interfaceIndex,
214
- ErrorCode errorCode,
215
- String * fullname,
216
- String * hosttarget,
217
- int port,
218
- Byte txtRecord[]
219
- )
220
- {
221
- if ((m_callback != NULL) && (m_impl != NULL))
222
- {
223
- DNSService::ResolveReply * OnResolveReply = static_cast<DNSService::ResolveReply*>(m_callback);
224
- OnResolveReply(this, flags, interfaceIndex, errorCode, fullname, hosttarget, port, txtRecord);
225
- }
226
- }
227
-
228
-
229
- //
230
- // RegisterRecordDispatch
231
- //
232
- // Dispatch a reply to the delegate.
233
- //
234
- void
235
- ServiceRef::RegisterRecordDispatch
236
- (
237
- ServiceFlags flags,
238
- ErrorCode errorCode,
239
- RecordRef * record
240
- )
241
- {
242
- if ((m_callback != NULL) && (m_impl != NULL))
243
- {
244
- DNSService::RegisterRecordReply * OnRegisterRecordReply = static_cast<DNSService::RegisterRecordReply*>(m_callback);
245
- OnRegisterRecordReply(this, flags, errorCode, record);
246
- }
247
- }
248
-
249
-
250
- //
251
- // QueryRecordDispatch
252
- //
253
- // Dispatch a reply to the delegate.
254
- //
255
- void
256
- ServiceRef::QueryRecordDispatch
257
- (
258
- ServiceFlags flags,
259
- int interfaceIndex,
260
- ErrorCode errorCode,
261
- String * fullname,
262
- int rrtype,
263
- int rrclass,
264
- Byte rdata[],
265
- int ttl
266
- )
267
- {
268
- if ((m_callback != NULL) && (m_impl != NULL))
269
- {
270
- DNSService::QueryRecordReply * OnQueryRecordReply = static_cast<DNSService::QueryRecordReply*>(m_callback);
271
- OnQueryRecordReply(this, flags, interfaceIndex, errorCode, fullname, rrtype, rrclass, rdata, ttl);
272
- }
273
- }
274
-
275
-
276
- //
277
- // ServiceRefImpl::ServiceRefImpl()
278
- //
279
- // Constructs a new ServiceRefImpl. We save the pointer to our enclosing
280
- // class in a gcroot handle. This satisfies the garbage collector as
281
- // the outer class is a managed type
282
- //
283
- ServiceRef::ServiceRefImpl::ServiceRefImpl(ServiceRef * outer)
284
- :
285
- m_socketEvent(NULL),
286
- m_stopEvent(NULL),
287
- m_disposed(false),
288
- m_outer(outer),
289
- m_ref(NULL)
290
- {
291
- m_threadId = GetCurrentThreadId();
292
- }
293
-
294
-
295
- //
296
- // ServiceRefImpl::~ServiceRefImpl()
297
- //
298
- // Deallocate all resources associated with the ServiceRefImpl
299
- //
300
- ServiceRef::ServiceRefImpl::~ServiceRefImpl()
301
- {
302
- if (m_socketEvent != NULL)
303
- {
304
- CloseHandle(m_socketEvent);
305
- m_socketEvent = NULL;
306
- }
307
-
308
- if (m_stopEvent != NULL)
309
- {
310
- CloseHandle(m_stopEvent);
311
- m_stopEvent = NULL;
312
- }
313
-
314
- if (m_ref != NULL)
315
- {
316
- DNSServiceRefDeallocate(m_ref);
317
- m_ref = NULL;
318
- }
319
- }
320
-
321
-
322
- //
323
- // ServiceRefImpl::SetupEvents()
324
- //
325
- // Setup the events necessary to manage multi-threaded dispatch
326
- // of DNSService Events
327
- //
328
- void
329
- ServiceRef::ServiceRefImpl::SetupEvents()
330
- {
331
- check(m_ref != NULL);
332
-
333
- m_socket = (SOCKET) DNSServiceRefSockFD(m_ref);
334
- check(m_socket != INVALID_SOCKET);
335
-
336
- m_socketEvent = CreateEvent(NULL, 0, 0, NULL);
337
-
338
- if (m_socketEvent == NULL)
339
- {
340
- throw new DNSServiceException(Unknown);
341
- }
342
-
343
- int err = WSAEventSelect(m_socket, m_socketEvent, FD_READ|FD_CLOSE);
344
-
345
- if (err != 0)
346
- {
347
- throw new DNSServiceException(Unknown);
348
- }
349
-
350
- m_stopEvent = CreateEvent(NULL, 0, 0, NULL);
351
-
352
- if (m_stopEvent == NULL)
353
- {
354
- throw new DNSServiceException(Unknown);
355
- }
356
- }
357
-
358
-
359
- //
360
- // ServiceRefImpl::ProcessingThread()
361
- //
362
- // Wait for socket events on the DNSServiceRefSockFD(). Also wait
363
- // for stop events
364
- //
365
- void
366
- ServiceRef::ServiceRefImpl::ProcessingThread()
367
- {
368
- check( m_socketEvent != NULL );
369
- check( m_stopEvent != NULL );
370
- check( m_ref != NULL );
371
-
372
- HANDLE handles[2];
373
-
374
- handles[0] = m_socketEvent;
375
- handles[1] = m_stopEvent;
376
-
377
- while (m_disposed == false)
378
- {
379
- int ret = WaitForMultipleObjects(2, handles, FALSE, INFINITE);
380
-
381
- //
382
- // it's a socket event
383
- //
384
- if (ret == WAIT_OBJECT_0)
385
- {
386
- DNSServiceProcessResult(m_ref);
387
- }
388
- //
389
- // else it's a stop event
390
- //
391
- else if (ret == WAIT_OBJECT_0 + 1)
392
- {
393
- break;
394
- }
395
- else
396
- {
397
- //
398
- // unexpected wait result
399
- //
400
- dlog( kDebugLevelWarning, DEBUG_NAME "%s: unexpected wait result (result=0x%08X)\n", __ROUTINE__, ret );
401
- }
402
- }
403
-
404
- delete this;
405
- }
406
-
407
-
408
- //
409
- // ServiceRefImpl::Dispose()
410
- //
411
- // Calls DNSServiceRefDeallocate()
412
- //
413
- void
414
- ServiceRef::ServiceRefImpl::Dispose()
415
- {
416
- OSStatus err;
417
- BOOL ok;
418
-
419
- check(m_disposed == false);
420
-
421
- m_disposed = true;
422
-
423
- ok = SetEvent(m_stopEvent);
424
- err = translate_errno( ok, (OSStatus) GetLastError(), kUnknownErr );
425
- require_noerr( err, exit );
426
-
427
- exit:
428
-
429
- return;
430
- }
431
-
432
-
433
- //
434
- // ServiceRefImpl::EnumerateDomainsCallback()
435
- //
436
- // This is the callback from dnssd.dll. We pass this up to our outer, managed type
437
- //
438
- void DNSSD_API
439
- ServiceRef::ServiceRefImpl::EnumerateDomainsCallback
440
- (
441
- DNSServiceRef sdRef,
442
- DNSServiceFlags flags,
443
- uint32_t interfaceIndex,
444
- DNSServiceErrorType errorCode,
445
- const char * replyDomain,
446
- void * context
447
- )
448
- {
449
- ServiceRef::ServiceRefImpl * self = static_cast<ServiceRef::ServiceRefImpl*>(context);
450
-
451
- check( self != NULL );
452
- check( self->m_outer != NULL );
453
-
454
- if (self->m_disposed == false)
455
- {
456
- self->m_outer->EnumerateDomainsDispatch((ServiceFlags) flags, interfaceIndex, (ErrorCode) errorCode, ConvertToString(replyDomain));
457
- }
458
- }
459
-
460
-
461
- //
462
- // ServiceRefImpl::RegisterCallback()
463
- //
464
- // This is the callback from dnssd.dll. We pass this up to our outer, managed type
465
- //
466
- void DNSSD_API
467
- ServiceRef::ServiceRefImpl::RegisterCallback
468
- (
469
- DNSServiceRef sdRef,
470
- DNSServiceFlags flags,
471
- DNSServiceErrorType errorCode,
472
- const char * name,
473
- const char * regtype,
474
- const char * domain,
475
- void * context
476
- )
477
- {
478
- ServiceRef::ServiceRefImpl * self = static_cast<ServiceRef::ServiceRefImpl*>(context);
479
-
480
- check( self != NULL );
481
- check( self->m_outer != NULL );
482
-
483
- if (self->m_disposed == false)
484
- {
485
- self->m_outer->RegisterDispatch((ServiceFlags) flags, (ErrorCode) errorCode, ConvertToString(name), ConvertToString(regtype), ConvertToString(domain));
486
- }
487
- }
488
-
489
-
490
- //
491
- // ServiceRefImpl::BrowseCallback()
492
- //
493
- // This is the callback from dnssd.dll. We pass this up to our outer, managed type
494
- //
495
- void DNSSD_API
496
- ServiceRef::ServiceRefImpl::BrowseCallback
497
- (
498
- DNSServiceRef sdRef,
499
- DNSServiceFlags flags,
500
- uint32_t interfaceIndex,
501
- DNSServiceErrorType errorCode,
502
- const char * serviceName,
503
- const char * regtype,
504
- const char * replyDomain,
505
- void * context
506
- )
507
- {
508
- ServiceRef::ServiceRefImpl * self = static_cast<ServiceRef::ServiceRefImpl*>(context);
509
-
510
- check( self != NULL );
511
- check( self->m_outer != NULL );
512
-
513
- if (self->m_disposed == false)
514
- {
515
- self->m_outer->BrowseDispatch((ServiceFlags) flags, interfaceIndex, (ErrorCode) errorCode, ConvertToString(serviceName), ConvertToString(regtype), ConvertToString(replyDomain));
516
- }
517
- }
518
-
519
-
520
- //
521
- // ServiceRefImpl::ResolveCallback()
522
- //
523
- // This is the callback from dnssd.dll. We pass this up to our outer, managed type
524
- //
525
- void DNSSD_API
526
- ServiceRef::ServiceRefImpl::ResolveCallback
527
- (
528
- DNSServiceRef sdRef,
529
- DNSServiceFlags flags,
530
- uint32_t interfaceIndex,
531
- DNSServiceErrorType errorCode,
532
- const char * fullname,
533
- const char * hosttarget,
534
- uint16_t notAnIntPort,
535
- uint16_t txtLen,
536
- const char * txtRecord,
537
- void * context
538
- )
539
- {
540
- ServiceRef::ServiceRefImpl * self = static_cast<ServiceRef::ServiceRefImpl*>(context);
541
-
542
- check( self != NULL );
543
- check( self->m_outer != NULL );
544
-
545
- if (self->m_disposed == false)
546
- {
547
- Byte txtRecordBytes[];
548
-
549
- txtRecordBytes = NULL;
550
-
551
- if (txtLen > 0)
552
- {
553
- //
554
- // copy raw memory into managed byte array
555
- //
556
- txtRecordBytes = new Byte[txtLen];
557
- Byte __pin * p = &txtRecordBytes[0];
558
- memcpy(p, txtRecord, txtLen);
559
- }
560
-
561
- self->m_outer->ResolveDispatch((ServiceFlags) flags, interfaceIndex, (ErrorCode) errorCode, ConvertToString(fullname), ConvertToString(hosttarget), ntohs(notAnIntPort), txtRecordBytes);
562
- }
563
- }
564
-
565
-
566
- //
567
- // ServiceRefImpl::RegisterRecordCallback()
568
- //
569
- // This is the callback from dnssd.dll. We pass this up to our outer, managed type
570
- //
571
- void DNSSD_API
572
- ServiceRef::ServiceRefImpl::RegisterRecordCallback
573
- (
574
- DNSServiceRef sdRef,
575
- DNSRecordRef rrRef,
576
- DNSServiceFlags flags,
577
- DNSServiceErrorType errorCode,
578
- void * context
579
- )
580
- {
581
- ServiceRef::ServiceRefImpl * self = static_cast<ServiceRef::ServiceRefImpl*>(context);
582
-
583
- check( self != NULL );
584
- check( self->m_outer != NULL );
585
-
586
- if (self->m_disposed == false)
587
- {
588
- RecordRef * record = NULL;
589
-
590
- if (errorCode == 0)
591
- {
592
- record = new RecordRef;
593
-
594
- record->m_impl->m_ref = rrRef;
595
- }
596
-
597
- self->m_outer->RegisterRecordDispatch((ServiceFlags) flags, (ErrorCode) errorCode, record);
598
- }
599
- }
600
-
601
-
602
- //
603
- // ServiceRefImpl::QueryRecordCallback()
604
- //
605
- // This is the callback from dnssd.dll. We pass this up to our outer, managed type
606
- //
607
- void DNSSD_API
608
- ServiceRef::ServiceRefImpl::QueryRecordCallback
609
- (
610
- DNSServiceRef DNSServiceRef,
611
- DNSServiceFlags flags,
612
- uint32_t interfaceIndex,
613
- DNSServiceErrorType errorCode,
614
- const char * fullname,
615
- uint16_t rrtype,
616
- uint16_t rrclass,
617
- uint16_t rdlen,
618
- const void * rdata,
619
- uint32_t ttl,
620
- void * context
621
- )
622
- {
623
- ServiceRef::ServiceRefImpl * self = static_cast<ServiceRef::ServiceRefImpl*>(context);
624
-
625
- check( self != NULL );
626
- check( self->m_outer != NULL );
627
-
628
- if (self->m_disposed == false)
629
- {
630
- Byte rdataBytes[];
631
-
632
- if (rdlen)
633
- {
634
- rdataBytes = new Byte[rdlen];
635
- Byte __pin * p = &rdataBytes[0];
636
- memcpy(p, rdata, rdlen);
637
- }
638
-
639
- self->m_outer->QueryRecordDispatch((ServiceFlags) flags, (int) interfaceIndex, (ErrorCode) errorCode, ConvertToString(fullname), rrtype, rrclass, rdataBytes, ttl);
640
- }
641
- }
642
-
643
-
644
- /*
645
- * EnumerateDomains()
646
- *
647
- * This maps to DNSServiceEnumerateDomains(). Returns an
648
- * initialized ServiceRef on success, throws an exception
649
- * on failure.
650
- */
651
- ServiceRef*
652
- DNSService::EnumerateDomains
653
- (
654
- int flags,
655
- int interfaceIndex,
656
- EnumerateDomainsReply * callback
657
- )
658
- {
659
- ServiceRef * sdRef = new ServiceRef(callback);
660
- int err;
661
-
662
- err = DNSServiceEnumerateDomains(&sdRef->m_impl->m_ref, flags, interfaceIndex, ServiceRef::ServiceRefImpl::EnumerateDomainsCallback, sdRef->m_impl);
663
-
664
- if (err != 0)
665
- {
666
- throw new DNSServiceException(err);
667
- }
668
-
669
- sdRef->StartThread();
670
-
671
- return sdRef;
672
- }
673
-
674
-
675
- /*
676
- * Register()
677
- *
678
- * This maps to DNSServiceRegister(). Returns an
679
- * initialized ServiceRef on success, throws an exception
680
- * on failure.
681
- */
682
- ServiceRef*
683
- DNSService::Register
684
- (
685
- int flags,
686
- int interfaceIndex,
687
- String * name,
688
- String * regtype,
689
- String * domain,
690
- String * host,
691
- int port,
692
- Byte txtRecord[],
693
- RegisterReply * callback
694
- )
695
- {
696
- ServiceRef * sdRef = new ServiceRef(callback);
697
- PString * pName = new PString(name);
698
- PString * pType = new PString(regtype);
699
- PString * pDomain = new PString(domain);
700
- PString * pHost = new PString(host);
701
- int len = 0;
702
- Byte __pin * p = NULL;
703
- void * v = NULL;
704
-
705
- if ((txtRecord != NULL) && (txtRecord->Length > 0))
706
- {
707
- len = txtRecord->Length;
708
- p = &txtRecord[0];
709
- v = (void*) p;
710
- }
711
-
712
- int err = DNSServiceRegister(&sdRef->m_impl->m_ref, flags, interfaceIndex, pName->c_str(), pType->c_str(), pDomain->c_str(), pHost->c_str(), htons(port), len, v, ServiceRef::ServiceRefImpl::RegisterCallback, sdRef->m_impl );
713
-
714
- if (err != 0)
715
- {
716
- throw new DNSServiceException(err);
717
- }
718
-
719
- sdRef->StartThread();
720
-
721
- return sdRef;
722
- }
723
-
724
-
725
- /*
726
- * AddRecord()
727
- *
728
- * This maps to DNSServiceAddRecord(). Returns an
729
- * initialized ServiceRef on success, throws an exception
730
- * on failure.
731
- */
732
- RecordRef*
733
- DNSService::AddRecord
734
- (
735
- ServiceRef * sdRef,
736
- int flags,
737
- int rrtype,
738
- Byte rdata[],
739
- int ttl
740
- )
741
- {
742
- int len = 0;
743
- Byte __pin * p = NULL;
744
- void * v = NULL;
745
-
746
- if ((rdata != NULL) && (rdata->Length > 0))
747
- {
748
- len = rdata->Length;
749
- p = &rdata[0];
750
- v = (void*) p;
751
- }
752
-
753
- RecordRef * record = new RecordRef;
754
-
755
- int err = DNSServiceAddRecord(sdRef->m_impl->m_ref, &record->m_impl->m_ref, flags, rrtype, len, v, ttl);
756
-
757
- if (err != 0)
758
- {
759
- throw new DNSServiceException(err);
760
- }
761
-
762
- return record;
763
- }
764
-
765
-
766
- /*
767
- * UpdateRecord()
768
- *
769
- * This maps to DNSServiceUpdateRecord(). Returns an
770
- * initialized ServiceRef on success, throws an exception
771
- * on failure.
772
- */
773
- void
774
- DNSService::UpdateRecord
775
- (
776
- ServiceRef * sdRef,
777
- RecordRef * record,
778
- int flags,
779
- Byte rdata[],
780
- int ttl
781
- )
782
- {
783
- int len = 0;
784
- Byte __pin * p = NULL;
785
- void * v = NULL;
786
-
787
- if ((rdata != NULL) && (rdata->Length > 0))
788
- {
789
- len = rdata->Length;
790
- p = &rdata[0];
791
- v = (void*) p;
792
- }
793
-
794
- int err = DNSServiceUpdateRecord(sdRef->m_impl->m_ref, record ? record->m_impl->m_ref : NULL, flags, len, v, ttl);
795
-
796
- if (err != 0)
797
- {
798
- throw new DNSServiceException(err);
799
- }
800
- }
801
-
802
-
803
- /*
804
- * RemoveRecord()
805
- *
806
- * This maps to DNSServiceRemoveRecord(). Returns an
807
- * initialized ServiceRef on success, throws an exception
808
- * on failure.
809
- */
810
- void
811
- DNSService::RemoveRecord
812
- (
813
- ServiceRef * sdRef,
814
- RecordRef * record,
815
- int flags
816
- )
817
- {
818
- int err = DNSServiceRemoveRecord(sdRef->m_impl->m_ref, record->m_impl->m_ref, flags);
819
-
820
- if (err != 0)
821
- {
822
- throw new DNSServiceException(err);
823
- }
824
- }
825
-
826
-
827
- /*
828
- * Browse()
829
- *
830
- * This maps to DNSServiceBrowse(). Returns an
831
- * initialized ServiceRef on success, throws an exception
832
- * on failure.
833
- */
834
- ServiceRef*
835
- DNSService::Browse
836
- (
837
- int flags,
838
- int interfaceIndex,
839
- String * regtype,
840
- String * domain,
841
- BrowseReply * callback
842
- )
843
- {
844
- ServiceRef * sdRef = new ServiceRef(callback);
845
- PString * pType = new PString(regtype);
846
- PString * pDomain = new PString(domain);
847
-
848
- int err = DNSServiceBrowse(&sdRef->m_impl->m_ref, flags, interfaceIndex, pType->c_str(), pDomain->c_str(),(DNSServiceBrowseReply) ServiceRef::ServiceRefImpl::BrowseCallback, sdRef->m_impl);
849
-
850
- if (err != 0)
851
- {
852
- throw new DNSServiceException(err);
853
- }
854
-
855
- sdRef->StartThread();
856
-
857
- return sdRef;
858
- }
859
-
860
-
861
- /*
862
- * Resolve()
863
- *
864
- * This maps to DNSServiceResolve(). Returns an
865
- * initialized ServiceRef on success, throws an exception
866
- * on failure.
867
- */
868
- ServiceRef*
869
- DNSService::Resolve
870
- (
871
- int flags,
872
- int interfaceIndex,
873
- String * name,
874
- String * regtype,
875
- String * domain,
876
- ResolveReply * callback
877
- )
878
- {
879
- ServiceRef * sdRef = new ServiceRef(callback);
880
- PString * pName = new PString(name);
881
- PString * pType = new PString(regtype);
882
- PString * pDomain = new PString(domain);
883
-
884
- int err = DNSServiceResolve(&sdRef->m_impl->m_ref, flags, interfaceIndex, pName->c_str(), pType->c_str(), pDomain->c_str(),(DNSServiceResolveReply) ServiceRef::ServiceRefImpl::ResolveCallback, sdRef->m_impl);
885
-
886
- if (err != 0)
887
- {
888
- throw new DNSServiceException(err);
889
- }
890
-
891
- sdRef->StartThread();
892
-
893
- return sdRef;
894
- }
895
-
896
-
897
- /*
898
- * CreateConnection()
899
- *
900
- * This maps to DNSServiceCreateConnection(). Returns an
901
- * initialized ServiceRef on success, throws an exception
902
- * on failure.
903
- */
904
- ServiceRef*
905
- DNSService::CreateConnection
906
- (
907
- RegisterRecordReply * callback
908
- )
909
- {
910
- ServiceRef * sdRef = new ServiceRef(callback);
911
-
912
- int err = DNSServiceCreateConnection(&sdRef->m_impl->m_ref);
913
-
914
- if (err != 0)
915
- {
916
- throw new DNSServiceException(err);
917
- }
918
-
919
- sdRef->StartThread();
920
-
921
- return sdRef;
922
- }
923
-
924
-
925
- /*
926
- * RegisterRecord()
927
- *
928
- * This maps to DNSServiceRegisterRecord(). Returns an
929
- * initialized ServiceRef on success, throws an exception
930
- * on failure.
931
- */
932
-
933
- RecordRef*
934
- DNSService::RegisterRecord
935
- (
936
- ServiceRef * sdRef,
937
- ServiceFlags flags,
938
- int interfaceIndex,
939
- String * fullname,
940
- int rrtype,
941
- int rrclass,
942
- Byte rdata[],
943
- int ttl
944
- )
945
- {
946
- RecordRef * record = new RecordRef;
947
- int len = 0;
948
- Byte __pin * p = NULL;
949
- void * v = NULL;
950
-
951
- PString * pFullname = new PString(fullname);
952
-
953
- if ((rdata != NULL) && (rdata->Length > 0))
954
- {
955
- len = rdata->Length;
956
- p = &rdata[0];
957
- v = (void*) p;
958
- }
959
-
960
- int err = DNSServiceRegisterRecord(sdRef->m_impl->m_ref, &record->m_impl->m_ref, flags, interfaceIndex, pFullname->c_str(), rrtype, rrclass, len, v, ttl, (DNSServiceRegisterRecordReply) ServiceRef::ServiceRefImpl::RegisterRecordCallback, sdRef->m_impl);
961
-
962
- if (err != 0)
963
- {
964
- throw new DNSServiceException(err);
965
- }
966
-
967
- return record;
968
- }
969
-
970
- /*
971
- * QueryRecord()
972
- *
973
- * This maps to DNSServiceQueryRecord(). Returns an
974
- * initialized ServiceRef on success, throws an exception
975
- * on failure.
976
- */
977
- ServiceRef*
978
- DNSService::QueryRecord
979
- (
980
- ServiceFlags flags,
981
- int interfaceIndex,
982
- String * fullname,
983
- int rrtype,
984
- int rrclass,
985
- QueryRecordReply * callback
986
- )
987
- {
988
- ServiceRef * sdRef = new ServiceRef(callback);
989
- PString * pFullname = new PString(fullname);
990
-
991
- int err = DNSServiceQueryRecord(&sdRef->m_impl->m_ref, flags, interfaceIndex, pFullname->c_str(), rrtype, rrclass, (DNSServiceQueryRecordReply) ServiceRef::ServiceRefImpl::QueryRecordCallback, sdRef->m_impl);
992
-
993
- if (err != 0)
994
- {
995
- throw new DNSServiceException(err);
996
- }
997
-
998
- sdRef->StartThread();
999
-
1000
- return sdRef;
1001
- }
1002
-
1003
-
1004
- /*
1005
- * ReconfirmRecord()
1006
- *
1007
- * This maps to DNSServiceReconfirmRecord(). Returns an
1008
- * initialized ServiceRef on success, throws an exception
1009
- * on failure.
1010
- */
1011
- void
1012
- DNSService::ReconfirmRecord
1013
- (
1014
- ServiceFlags flags,
1015
- int interfaceIndex,
1016
- String * fullname,
1017
- int rrtype,
1018
- int rrclass,
1019
- Byte rdata[]
1020
- )
1021
- {
1022
- int len = 0;
1023
- Byte __pin * p = NULL;
1024
- void * v = NULL;
1025
-
1026
- PString * pFullname = new PString(fullname);
1027
-
1028
- if ((rdata != NULL) && (rdata->Length > 0))
1029
- {
1030
- len = rdata->Length;
1031
- p = &rdata[0];
1032
- v = (void*) p;
1033
- }
1034
-
1035
- DNSServiceReconfirmRecord(flags, interfaceIndex, pFullname->c_str(), rrtype, rrclass, len, v);
1036
- }
1037
-
1038
-
1039
- void
1040
- TextRecord::SetValue
1041
- (
1042
- String * key,
1043
- Byte value[] /* may be NULL */
1044
- )
1045
- {
1046
- PString * pKey = new PString(key);
1047
- int len = 0;
1048
- Byte __pin * p = NULL;
1049
- void * v = NULL;
1050
- DNSServiceErrorType err;
1051
-
1052
- if (value && (value->Length > 0))
1053
- {
1054
- len = value->Length;
1055
- p = &value[0];
1056
- v = (void*) p;
1057
- }
1058
-
1059
- err = TXTRecordSetValue(&m_impl->m_ref, pKey->c_str(), len, v);
1060
-
1061
- if (err != 0)
1062
- {
1063
- throw new DNSServiceException(err);
1064
- }
1065
- }
1066
-
1067
-
1068
- void
1069
- TextRecord::RemoveValue
1070
- (
1071
- String * key
1072
- )
1073
- {
1074
- PString * pKey = new PString(key);
1075
- DNSServiceErrorType err;
1076
-
1077
- err = TXTRecordRemoveValue(&m_impl->m_ref, pKey->c_str());
1078
-
1079
- if (err != 0)
1080
- {
1081
- throw new DNSServiceException(err);
1082
- }
1083
- }
1084
-
1085
-
1086
- int
1087
- TextRecord::GetLength
1088
- (
1089
- )
1090
- {
1091
- return TXTRecordGetLength(&m_impl->m_ref);
1092
- }
1093
-
1094
-
1095
- Byte
1096
- TextRecord::GetBytes
1097
- (
1098
- ) __gc[]
1099
- {
1100
- const void * noGCBytes = NULL;
1101
- Byte gcBytes[] = NULL;
1102
-
1103
- noGCBytes = TXTRecordGetBytesPtr(&m_impl->m_ref);
1104
- int len = GetLength();
1105
-
1106
- if (noGCBytes && len)
1107
- {
1108
- gcBytes = new Byte[len];
1109
- Byte __pin * p = &gcBytes[0];
1110
- memcpy(p, noGCBytes, len);
1111
- }
1112
-
1113
- return gcBytes;
1114
- }
1115
-
1116
-
1117
- bool
1118
- TextRecord::ContainsKey
1119
- (
1120
- Byte txtRecord[],
1121
- String * key
1122
- )
1123
- {
1124
- PString * pKey = new PString(key);
1125
- Byte __pin * p = &txtRecord[0];
1126
-
1127
- return (TXTRecordContainsKey(txtRecord->Length, p, pKey->c_str()) > 0) ? true : false;
1128
- }
1129
-
1130
-
1131
- Byte
1132
- TextRecord::GetValueBytes
1133
- (
1134
- Byte txtRecord[],
1135
- String * key
1136
- ) __gc[]
1137
- {
1138
- uint8_t valueLen;
1139
- Byte ret[] = NULL;
1140
- PString * pKey = new PString(key);
1141
- Byte __pin * p1 = &txtRecord[0];
1142
- const void * v;
1143
-
1144
- v = TXTRecordGetValuePtr(txtRecord->Length, p1, pKey->c_str(), &valueLen);
1145
-
1146
- if (v != NULL)
1147
- {
1148
- ret = new Byte[valueLen];
1149
- Byte __pin * p2 = &ret[0];
1150
-
1151
- memcpy(p2, v, valueLen);
1152
- }
1153
-
1154
- return ret;
1155
- }
1156
-
1157
-
1158
- int
1159
- TextRecord::GetCount
1160
- (
1161
- Byte txtRecord[]
1162
- )
1163
- {
1164
- Byte __pin * p = &txtRecord[0];
1165
-
1166
- return TXTRecordGetCount(txtRecord->Length, p);
1167
- }
1168
-
1169
-
1170
- Byte
1171
- TextRecord::GetItemAtIndex
1172
- (
1173
- Byte txtRecord[],
1174
- int index,
1175
- [Out] String ** key
1176
- ) __gc[]
1177
- {
1178
- char keyBuf[255];
1179
- uint8_t keyBufLen = 255;
1180
- uint8_t valueLen;
1181
- void * value;
1182
- Byte ret[] = NULL;
1183
- DNSServiceErrorType err;
1184
- Byte __pin * p1 = &txtRecord[0];
1185
-
1186
-
1187
- err = TXTRecordGetItemAtIndex(txtRecord->Length, p1, index, keyBufLen, keyBuf, &valueLen, (const void**) &value);
1188
-
1189
- if (err != 0)
1190
- {
1191
- throw new DNSServiceException(err);
1192
- }
1193
-
1194
- *key = ConvertToString(keyBuf);
1195
-
1196
- if (valueLen)
1197
- {
1198
- ret = new Byte[valueLen];
1199
- Byte __pin * p2 = &ret[0];
1200
-
1201
- memcpy(p2, value, valueLen);
1202
- }
1203
-
1204
- return ret;
1205
- }
1206
-
1207
-
1208
- //
1209
- // DNSServiceException::DNSServiceException()
1210
- //
1211
- // Constructs an exception with an error code
1212
- //
1213
- DNSServiceException::DNSServiceException
1214
- (
1215
- int _err
1216
- )
1217
- :
1218
- err(_err)
1219
- {
1220
- }
1221
-
1222
-
1223
- //
1224
- // This version of the constructor is useful for instances in which
1225
- // an inner exception is thrown, caught, and then a new exception
1226
- // is thrown in it's place
1227
- //
1228
- DNSServiceException::DNSServiceException
1229
- (
1230
- String * message,
1231
- System::Exception * innerException
1232
- )
1233
- {
1234
- }