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,892 +0,0 @@
1
- // DNSSD.cpp : Implementation of CDNSSD
2
-
3
- #include "stdafx.h"
4
- #include "DNSSD.h"
5
- #include "DNSSDService.h"
6
- #include "TXTRecord.h"
7
- #include <dns_sd.h>
8
- #include <CommonServices.h>
9
- #include <DebugServices.h>
10
- #include "StringServices.h"
11
-
12
-
13
- // CDNSSD
14
-
15
- STDMETHODIMP CDNSSD::Browse(DNSSDFlags flags, ULONG ifIndex, BSTR regtype, BSTR domain, IBrowseListener* listener, IDNSSDService** browser )
16
- {
17
- CComObject<CDNSSDService> * object = NULL;
18
- std::string regtypeUTF8;
19
- std::string domainUTF8;
20
- DNSServiceRef sref = NULL;
21
- DNSServiceErrorType err = 0;
22
- HRESULT hr = 0;
23
- BOOL ok;
24
-
25
- // Initialize
26
- *browser = NULL;
27
-
28
- // Convert BSTR params to utf8
29
- ok = BSTRToUTF8( regtype, regtypeUTF8 );
30
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
31
- ok = BSTRToUTF8( domain, domainUTF8 );
32
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
33
-
34
- try
35
- {
36
- object = new CComObject<CDNSSDService>();
37
- }
38
- catch ( ... )
39
- {
40
- object = NULL;
41
- }
42
-
43
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
44
- hr = object->FinalConstruct();
45
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
46
- object->AddRef();
47
-
48
- err = DNSServiceBrowse( &sref, flags, ifIndex, regtypeUTF8.c_str(), domainUTF8.c_str(), ( DNSServiceBrowseReply ) &BrowseReply, object );
49
- require_noerr( err, exit );
50
-
51
- object->SetServiceRef( sref );
52
- object->SetListener( listener );
53
-
54
- err = object->Run();
55
- require_noerr( err, exit );
56
-
57
- *browser = object;
58
-
59
- exit:
60
-
61
- if ( err && object )
62
- {
63
- object->Release();
64
- }
65
-
66
- return err;
67
- }
68
-
69
-
70
- STDMETHODIMP CDNSSD::Resolve(DNSSDFlags flags, ULONG ifIndex, BSTR serviceName, BSTR regType, BSTR domain, IResolveListener* listener, IDNSSDService** service)
71
- {
72
- CComObject<CDNSSDService> * object = NULL;
73
- std::string serviceNameUTF8;
74
- std::string regTypeUTF8;
75
- std::string domainUTF8;
76
- DNSServiceRef sref = NULL;
77
- DNSServiceErrorType err = 0;
78
- HRESULT hr = 0;
79
- BOOL ok;
80
-
81
- // Initialize
82
- *service = NULL;
83
-
84
- // Convert BSTR params to utf8
85
- ok = BSTRToUTF8( serviceName, serviceNameUTF8 );
86
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
87
- ok = BSTRToUTF8( regType, regTypeUTF8 );
88
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
89
- ok = BSTRToUTF8( domain, domainUTF8 );
90
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
91
-
92
- try
93
- {
94
- object = new CComObject<CDNSSDService>();
95
- }
96
- catch ( ... )
97
- {
98
- object = NULL;
99
- }
100
-
101
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
102
- hr = object->FinalConstruct();
103
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
104
- object->AddRef();
105
-
106
- err = DNSServiceResolve( &sref, flags, ifIndex, serviceNameUTF8.c_str(), regTypeUTF8.c_str(), domainUTF8.c_str(), ( DNSServiceResolveReply ) &ResolveReply, object );
107
- require_noerr( err, exit );
108
-
109
- object->SetServiceRef( sref );
110
- object->SetListener( listener );
111
-
112
- err = object->Run();
113
- require_noerr( err, exit );
114
-
115
- *service = object;
116
-
117
- exit:
118
-
119
- if ( err && object )
120
- {
121
- object->Release();
122
- }
123
-
124
- return err;
125
- }
126
-
127
-
128
- STDMETHODIMP CDNSSD::EnumerateDomains(DNSSDFlags flags, ULONG ifIndex, IDomainListener *listener, IDNSSDService **service)
129
- {
130
- CComObject<CDNSSDService> * object = NULL;
131
- DNSServiceRef sref = NULL;
132
- DNSServiceErrorType err = 0;
133
- HRESULT hr = 0;
134
-
135
- // Initialize
136
- *service = NULL;
137
-
138
- try
139
- {
140
- object = new CComObject<CDNSSDService>();
141
- }
142
- catch ( ... )
143
- {
144
- object = NULL;
145
- }
146
-
147
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
148
- hr = object->FinalConstruct();
149
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
150
- object->AddRef();
151
-
152
- err = DNSServiceEnumerateDomains( &sref, flags, ifIndex, ( DNSServiceDomainEnumReply ) &DomainEnumReply, object );
153
- require_noerr( err, exit );
154
-
155
- object->SetServiceRef( sref );
156
- object->SetListener( listener );
157
-
158
- err = object->Run();
159
- require_noerr( err, exit );
160
-
161
- *service = object;
162
-
163
- exit:
164
-
165
- if ( err && object )
166
- {
167
- object->Release();
168
- }
169
-
170
- return err;
171
- }
172
-
173
-
174
- STDMETHODIMP CDNSSD::Register(DNSSDFlags flags, ULONG ifIndex, BSTR serviceName, BSTR regType, BSTR domain, BSTR host, USHORT port, ITXTRecord *record, IRegisterListener *listener, IDNSSDService **service)
175
- {
176
- CComObject<CDNSSDService> * object = NULL;
177
- std::string serviceNameUTF8;
178
- std::string regTypeUTF8;
179
- std::string domainUTF8;
180
- std::string hostUTF8;
181
- const void * txtRecord = NULL;
182
- uint16_t txtLen = 0;
183
- DNSServiceRef sref = NULL;
184
- DNSServiceErrorType err = 0;
185
- HRESULT hr = 0;
186
- BOOL ok;
187
-
188
- // Initialize
189
- *service = NULL;
190
-
191
- // Convert BSTR params to utf8
192
- ok = BSTRToUTF8( serviceName, serviceNameUTF8 );
193
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
194
- ok = BSTRToUTF8( regType, regTypeUTF8 );
195
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
196
- ok = BSTRToUTF8( domain, domainUTF8 );
197
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
198
- ok = BSTRToUTF8( host, hostUTF8 );
199
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
200
-
201
- try
202
- {
203
- object = new CComObject<CDNSSDService>();
204
- }
205
- catch ( ... )
206
- {
207
- object = NULL;
208
- }
209
-
210
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
211
- hr = object->FinalConstruct();
212
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
213
- object->AddRef();
214
-
215
- if ( record )
216
- {
217
- CComObject< CTXTRecord > * realTXTRecord;
218
-
219
- realTXTRecord = ( CComObject< CTXTRecord >* ) record;
220
-
221
- txtRecord = realTXTRecord->GetBytes();
222
- txtLen = realTXTRecord->GetLen();
223
- }
224
-
225
- err = DNSServiceRegister( &sref, flags, ifIndex, serviceNameUTF8.c_str(), regTypeUTF8.c_str(), domainUTF8.c_str(), hostUTF8.c_str(), port, txtLen, txtRecord, ( DNSServiceRegisterReply ) &RegisterReply, object );
226
- require_noerr( err, exit );
227
-
228
- object->SetServiceRef( sref );
229
- object->SetListener( listener );
230
-
231
- err = object->Run();
232
- require_noerr( err, exit );
233
-
234
- *service = object;
235
-
236
- exit:
237
-
238
- if ( err && object )
239
- {
240
- object->Release();
241
- }
242
-
243
- return err;
244
- }
245
-
246
-
247
- STDMETHODIMP CDNSSD::QueryRecord(DNSSDFlags flags, ULONG ifIndex, BSTR fullname, DNSSDRRType rrtype, DNSSDRRClass rrclass, IQueryRecordListener *listener, IDNSSDService **service)
248
- {
249
- CComObject<CDNSSDService> * object = NULL;
250
- DNSServiceRef sref = NULL;
251
- std::string fullNameUTF8;
252
- DNSServiceErrorType err = 0;
253
- HRESULT hr = 0;
254
- BOOL ok;
255
-
256
- // Initialize
257
- *service = NULL;
258
-
259
- // Convert BSTR params to utf8
260
- ok = BSTRToUTF8( fullname, fullNameUTF8 );
261
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
262
-
263
- try
264
- {
265
- object = new CComObject<CDNSSDService>();
266
- }
267
- catch ( ... )
268
- {
269
- object = NULL;
270
- }
271
-
272
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
273
- hr = object->FinalConstruct();
274
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
275
- object->AddRef();
276
-
277
- err = DNSServiceQueryRecord( &sref, flags, ifIndex, fullNameUTF8.c_str(), ( uint16_t ) rrtype, ( uint16_t ) rrclass, ( DNSServiceQueryRecordReply ) &QueryRecordReply, object );
278
- require_noerr( err, exit );
279
-
280
- object->SetServiceRef( sref );
281
- object->SetListener( listener );
282
-
283
- err = object->Run();
284
- require_noerr( err, exit );
285
-
286
- *service = object;
287
-
288
- exit:
289
-
290
- if ( err && object )
291
- {
292
- object->Release();
293
- }
294
-
295
- return err;
296
- }
297
-
298
-
299
- STDMETHODIMP CDNSSD::GetAddrInfo(DNSSDFlags flags, ULONG ifIndex, DNSSDAddressFamily addressFamily, BSTR hostName, IGetAddrInfoListener *listener, IDNSSDService **service)
300
- {
301
- CComObject<CDNSSDService> * object = NULL;
302
- DNSServiceRef sref = NULL;
303
- std::string hostNameUTF8;
304
- DNSServiceErrorType err = 0;
305
- HRESULT hr = 0;
306
- BOOL ok;
307
-
308
- // Initialize
309
- *service = NULL;
310
-
311
- // Convert BSTR params to utf8
312
- ok = BSTRToUTF8( hostName, hostNameUTF8 );
313
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
314
-
315
- try
316
- {
317
- object = new CComObject<CDNSSDService>();
318
- }
319
- catch ( ... )
320
- {
321
- object = NULL;
322
- }
323
-
324
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
325
- hr = object->FinalConstruct();
326
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
327
- object->AddRef();
328
-
329
- err = DNSServiceGetAddrInfo( &sref, flags, ifIndex, addressFamily, hostNameUTF8.c_str(), ( DNSServiceGetAddrInfoReply ) &GetAddrInfoReply, object );
330
- require_noerr( err, exit );
331
-
332
- object->SetServiceRef( sref );
333
- object->SetListener( listener );
334
-
335
- err = object->Run();
336
- require_noerr( err, exit );
337
-
338
- *service = object;
339
-
340
- exit:
341
-
342
- if ( err && object )
343
- {
344
- object->Release();
345
- }
346
-
347
- return err;
348
- }
349
-
350
-
351
- STDMETHODIMP CDNSSD::CreateConnection(IDNSSDService **service)
352
- {
353
- CComObject<CDNSSDService> * object = NULL;
354
- DNSServiceRef sref = NULL;
355
- DNSServiceErrorType err = 0;
356
- HRESULT hr = 0;
357
-
358
- // Initialize
359
- *service = NULL;
360
-
361
- try
362
- {
363
- object = new CComObject<CDNSSDService>();
364
- }
365
- catch ( ... )
366
- {
367
- object = NULL;
368
- }
369
-
370
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
371
- hr = object->FinalConstruct();
372
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
373
- object->AddRef();
374
-
375
- err = DNSServiceCreateConnection( &sref );
376
- require_noerr( err, exit );
377
-
378
- object->SetServiceRef( sref );
379
-
380
- *service = object;
381
-
382
- exit:
383
-
384
- if ( err && object )
385
- {
386
- object->Release();
387
- }
388
-
389
- return err;
390
- }
391
-
392
-
393
- STDMETHODIMP CDNSSD::NATPortMappingCreate(DNSSDFlags flags, ULONG ifIndex, DNSSDAddressFamily addressFamily, DNSSDProtocol protocol, USHORT internalPort, USHORT externalPort, ULONG ttl, INATPortMappingListener *listener, IDNSSDService **service)
394
- {
395
- CComObject<CDNSSDService> * object = NULL;
396
- DNSServiceRef sref = NULL;
397
- DNSServiceProtocol prot = 0;
398
- DNSServiceErrorType err = 0;
399
- HRESULT hr = 0;
400
-
401
- // Initialize
402
- *service = NULL;
403
-
404
- try
405
- {
406
- object = new CComObject<CDNSSDService>();
407
- }
408
- catch ( ... )
409
- {
410
- object = NULL;
411
- }
412
-
413
- require_action( object != NULL, exit, err = kDNSServiceErr_NoMemory );
414
- hr = object->FinalConstruct();
415
- require_action( hr == S_OK, exit, err = kDNSServiceErr_Unknown );
416
- object->AddRef();
417
-
418
- prot = ( addressFamily | protocol );
419
-
420
- err = DNSServiceNATPortMappingCreate( &sref, flags, ifIndex, prot, internalPort, externalPort, ttl, ( DNSServiceNATPortMappingReply ) &NATPortMappingReply, object );
421
- require_noerr( err, exit );
422
-
423
- object->SetServiceRef( sref );
424
- object->SetListener( listener );
425
-
426
- err = object->Run();
427
- require_noerr( err, exit );
428
-
429
- *service = object;
430
-
431
- exit:
432
-
433
- if ( err && object )
434
- {
435
- object->Release();
436
- }
437
-
438
- return err;
439
- }
440
-
441
-
442
- STDMETHODIMP CDNSSD::GetProperty(BSTR prop, VARIANT * value )
443
- {
444
- std::string propUTF8;
445
- std::vector< BYTE > byteArray;
446
- SAFEARRAY * psa = NULL;
447
- BYTE * pData = NULL;
448
- uint32_t elems = 0;
449
- DNSServiceErrorType err = 0;
450
- BOOL ok = TRUE;
451
-
452
- // Convert BSTR params to utf8
453
- ok = BSTRToUTF8( prop, propUTF8 );
454
- require_action( ok, exit, err = kDNSServiceErr_BadParam );
455
-
456
- // Setup the byte array
457
- require_action( V_VT( value ) == ( VT_ARRAY|VT_UI1 ), exit, err = kDNSServiceErr_Unknown );
458
- psa = V_ARRAY( value );
459
- require_action( psa, exit, err = kDNSServiceErr_Unknown );
460
- require_action( SafeArrayGetDim( psa ) == 1, exit, err = kDNSServiceErr_Unknown );
461
- byteArray.reserve( psa->rgsabound[0].cElements );
462
- byteArray.assign( byteArray.capacity(), 0 );
463
- elems = ( uint32_t ) byteArray.capacity();
464
-
465
- // Call the function and package the return value in the Variant
466
- err = DNSServiceGetProperty( propUTF8.c_str(), &byteArray[ 0 ], &elems );
467
- require_noerr( err, exit );
468
- ok = ByteArrayToVariant( &byteArray[ 0 ], elems, value );
469
- require_action( ok, exit, err = kDNSSDError_Unknown );
470
-
471
- exit:
472
-
473
- if ( psa )
474
- {
475
- SafeArrayUnaccessData( psa );
476
- psa = NULL;
477
- }
478
-
479
- return err;
480
- }
481
-
482
-
483
- void DNSSD_API
484
- CDNSSD::DomainEnumReply
485
- (
486
- DNSServiceRef sdRef,
487
- DNSServiceFlags flags,
488
- uint32_t ifIndex,
489
- DNSServiceErrorType errorCode,
490
- const char *replyDomainUTF8,
491
- void *context
492
- )
493
- {
494
- CComObject<CDNSSDService> * service;
495
- int err;
496
-
497
- service = ( CComObject< CDNSSDService>* ) context;
498
- require_action( service, exit, err = kDNSServiceErr_Unknown );
499
-
500
- if ( !service->Stopped() )
501
- {
502
- IDomainListener * listener;
503
-
504
- listener = ( IDomainListener* ) service->GetListener();
505
- require_action( listener, exit, err = kDNSServiceErr_Unknown );
506
-
507
- if ( !errorCode )
508
- {
509
- CComBSTR replyDomain;
510
-
511
- UTF8ToBSTR( replyDomainUTF8, replyDomain );
512
-
513
- if ( flags & kDNSServiceFlagsAdd )
514
- {
515
- listener->DomainFound( service, ( DNSSDFlags ) flags, ifIndex, replyDomain );
516
- }
517
- else
518
- {
519
- listener->DomainLost( service, ( DNSSDFlags ) flags, ifIndex, replyDomain );
520
- }
521
- }
522
- else
523
- {
524
- listener->EnumDomainsFailed( service, ( DNSSDError ) errorCode );
525
- }
526
- }
527
-
528
- exit:
529
-
530
- return;
531
- }
532
-
533
-
534
- void DNSSD_API
535
- CDNSSD::BrowseReply
536
- (
537
- DNSServiceRef sdRef,
538
- DNSServiceFlags flags,
539
- uint32_t ifIndex,
540
- DNSServiceErrorType errorCode,
541
- const char *serviceNameUTF8,
542
- const char *regTypeUTF8,
543
- const char *replyDomainUTF8,
544
- void *context
545
- )
546
- {
547
- CComObject<CDNSSDService> * service;
548
- int err;
549
-
550
- service = ( CComObject< CDNSSDService>* ) context;
551
- require_action( service, exit, err = kDNSServiceErr_Unknown );
552
-
553
- if ( !service->Stopped() )
554
- {
555
- IBrowseListener * listener;
556
-
557
- listener = ( IBrowseListener* ) service->GetListener();
558
- require_action( listener, exit, err = kDNSServiceErr_Unknown );
559
-
560
- if ( !errorCode )
561
- {
562
- CComBSTR serviceName;
563
- CComBSTR regType;
564
- CComBSTR replyDomain;
565
-
566
- UTF8ToBSTR( serviceNameUTF8, serviceName );
567
- UTF8ToBSTR( regTypeUTF8, regType );
568
- UTF8ToBSTR( replyDomainUTF8, replyDomain );
569
-
570
- if ( flags & kDNSServiceFlagsAdd )
571
- {
572
- listener->ServiceFound( service, ( DNSSDFlags ) flags, ifIndex, serviceName, regType, replyDomain );
573
- }
574
- else
575
- {
576
- listener->ServiceLost( service, ( DNSSDFlags ) flags, ifIndex, serviceName, regType, replyDomain );
577
- }
578
- }
579
- else
580
- {
581
- listener->BrowseFailed( service, ( DNSSDError ) errorCode );
582
- }
583
- }
584
-
585
- exit:
586
-
587
- return;
588
- }
589
-
590
-
591
- void DNSSD_API
592
- CDNSSD::ResolveReply
593
- (
594
- DNSServiceRef sdRef,
595
- DNSServiceFlags flags,
596
- uint32_t ifIndex,
597
- DNSServiceErrorType errorCode,
598
- const char *fullNameUTF8,
599
- const char *hostNameUTF8,
600
- uint16_t port,
601
- uint16_t txtLen,
602
- const unsigned char *txtRecord,
603
- void *context
604
- )
605
- {
606
- CComObject<CDNSSDService> * service;
607
- int err;
608
-
609
- service = ( CComObject< CDNSSDService>* ) context;
610
- require_action( service, exit, err = kDNSServiceErr_Unknown );
611
-
612
- if ( !service->Stopped() )
613
- {
614
- IResolveListener * listener;
615
-
616
- listener = ( IResolveListener* ) service->GetListener();
617
- require_action( listener, exit, err = kDNSServiceErr_Unknown );
618
-
619
- if ( !errorCode )
620
- {
621
- CComBSTR fullName;
622
- CComBSTR hostName;
623
- CComBSTR regType;
624
- CComBSTR replyDomain;
625
- CComObject< CTXTRecord >* record;
626
- BOOL ok;
627
-
628
- ok = UTF8ToBSTR( fullNameUTF8, fullName );
629
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
630
- ok = UTF8ToBSTR( hostNameUTF8, hostName );
631
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
632
-
633
- try
634
- {
635
- record = new CComObject<CTXTRecord>();
636
- }
637
- catch ( ... )
638
- {
639
- record = NULL;
640
- }
641
-
642
- require_action( record, exit, err = kDNSServiceErr_NoMemory );
643
- record->AddRef();
644
-
645
- char buf[ 64 ];
646
- sprintf( buf, "txtLen = %d", txtLen );
647
- OutputDebugStringA( buf );
648
-
649
- if ( txtLen > 0 )
650
- {
651
- record->SetBytes( txtRecord, txtLen );
652
- }
653
-
654
- listener->ServiceResolved( service, ( DNSSDFlags ) flags, ifIndex, fullName, hostName, port, record );
655
- }
656
- else
657
- {
658
- listener->ResolveFailed( service, ( DNSSDError ) errorCode );
659
- }
660
- }
661
-
662
- exit:
663
-
664
- return;
665
- }
666
-
667
-
668
- void DNSSD_API
669
- CDNSSD::RegisterReply
670
- (
671
- DNSServiceRef sdRef,
672
- DNSServiceFlags flags,
673
- DNSServiceErrorType errorCode,
674
- const char *serviceNameUTF8,
675
- const char *regTypeUTF8,
676
- const char *domainUTF8,
677
- void *context
678
- )
679
- {
680
- CComObject<CDNSSDService> * service;
681
- int err;
682
-
683
- service = ( CComObject< CDNSSDService>* ) context;
684
- require_action( service, exit, err = kDNSServiceErr_Unknown );
685
-
686
- if ( !service->Stopped() )
687
- {
688
- IRegisterListener * listener;
689
-
690
- listener = ( IRegisterListener* ) service->GetListener();
691
- require_action( listener, exit, err = kDNSServiceErr_Unknown );
692
-
693
- if ( !errorCode )
694
- {
695
- CComBSTR serviceName;
696
- CComBSTR regType;
697
- CComBSTR domain;
698
- BOOL ok;
699
-
700
- ok = UTF8ToBSTR( serviceNameUTF8, serviceName );
701
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
702
- ok = UTF8ToBSTR( regTypeUTF8, regType );
703
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
704
- ok = UTF8ToBSTR( domainUTF8, domain );
705
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
706
-
707
- listener->ServiceRegistered( service, ( DNSSDFlags ) flags, serviceName, regType, domain );
708
- }
709
- else
710
- {
711
- listener->ServiceRegisterFailed( service, ( DNSSDError ) errorCode );
712
- }
713
- }
714
-
715
- exit:
716
-
717
- return;
718
- }
719
-
720
-
721
- void DNSSD_API
722
- CDNSSD::QueryRecordReply
723
- (
724
- DNSServiceRef sdRef,
725
- DNSServiceFlags flags,
726
- uint32_t ifIndex,
727
- DNSServiceErrorType errorCode,
728
- const char *fullNameUTF8,
729
- uint16_t rrtype,
730
- uint16_t rrclass,
731
- uint16_t rdlen,
732
- const void *rdata,
733
- uint32_t ttl,
734
- void *context
735
- )
736
- {
737
- CComObject<CDNSSDService> * service;
738
- int err;
739
-
740
- service = ( CComObject< CDNSSDService>* ) context;
741
- require_action( service, exit, err = kDNSServiceErr_Unknown );
742
-
743
- if ( !service->Stopped() )
744
- {
745
- IQueryRecordListener * listener;
746
-
747
- listener = ( IQueryRecordListener* ) service->GetListener();
748
- require_action( listener, exit, err = kDNSServiceErr_Unknown );
749
-
750
- if ( !errorCode )
751
- {
752
- CComBSTR fullName;
753
- VARIANT var;
754
- BOOL ok;
755
-
756
- ok = UTF8ToBSTR( fullNameUTF8, fullName );
757
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
758
- ok = ByteArrayToVariant( rdata, rdlen, &var );
759
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
760
-
761
- listener->QueryRecordAnswered( service, ( DNSSDFlags ) flags, ifIndex, fullName, ( DNSSDRRType ) rrtype, ( DNSSDRRClass ) rrclass, var, ttl );
762
- }
763
- else
764
- {
765
- listener->QueryRecordFailed( service, ( DNSSDError ) errorCode );
766
- }
767
- }
768
-
769
- exit:
770
-
771
- return;
772
- }
773
-
774
-
775
- void DNSSD_API
776
- CDNSSD::GetAddrInfoReply
777
- (
778
- DNSServiceRef sdRef,
779
- DNSServiceFlags flags,
780
- uint32_t ifIndex,
781
- DNSServiceErrorType errorCode,
782
- const char *hostNameUTF8,
783
- const struct sockaddr *rawAddress,
784
- uint32_t ttl,
785
- void *context
786
- )
787
- {
788
- CComObject<CDNSSDService> * service;
789
- int err;
790
-
791
- service = ( CComObject< CDNSSDService>* ) context;
792
- require_action( service, exit, err = kDNSServiceErr_Unknown );
793
-
794
- if ( !service->Stopped() )
795
- {
796
- IGetAddrInfoListener * listener;
797
-
798
- listener = ( IGetAddrInfoListener* ) service->GetListener();
799
- require_action( listener, exit, err = kDNSServiceErr_Unknown );
800
-
801
- if ( !errorCode )
802
- {
803
- CComBSTR hostName;
804
- DWORD sockaddrLen;
805
- DNSSDAddressFamily addressFamily;
806
- char addressUTF8[INET6_ADDRSTRLEN];
807
- DWORD addressLen = sizeof( addressUTF8 );
808
- CComBSTR address;
809
- BOOL ok;
810
-
811
- ok = UTF8ToBSTR( hostNameUTF8, hostName );
812
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
813
-
814
- switch ( rawAddress->sa_family )
815
- {
816
- case AF_INET:
817
- {
818
- addressFamily = kDNSSDAddressFamily_IPv4;
819
- sockaddrLen = sizeof( sockaddr_in );
820
- }
821
- break;
822
-
823
- case AF_INET6:
824
- {
825
- addressFamily = kDNSSDAddressFamily_IPv6;
826
- sockaddrLen = sizeof( sockaddr_in6 );
827
- }
828
- break;
829
- }
830
-
831
- err = WSAAddressToStringA( ( LPSOCKADDR ) rawAddress, sockaddrLen, NULL, addressUTF8, &addressLen );
832
- require_noerr( err, exit );
833
- ok = UTF8ToBSTR( addressUTF8, address );
834
- require_action( ok, exit, err = kDNSServiceErr_Unknown );
835
-
836
- listener->GetAddrInfoReply( service, ( DNSSDFlags ) flags, ifIndex, hostName, addressFamily, address, ttl );
837
- }
838
- else
839
- {
840
- listener->GetAddrInfoFailed( service, ( DNSSDError ) errorCode );
841
- }
842
- }
843
-
844
- exit:
845
-
846
- return;
847
- }
848
-
849
-
850
- void DNSSD_API
851
- CDNSSD::NATPortMappingReply
852
- (
853
- DNSServiceRef sdRef,
854
- DNSServiceFlags flags,
855
- uint32_t ifIndex,
856
- DNSServiceErrorType errorCode,
857
- uint32_t externalAddress, /* four byte IPv4 address in network byte order */
858
- DNSServiceProtocol protocol,
859
- uint16_t internalPort,
860
- uint16_t externalPort, /* may be different than the requested port */
861
- uint32_t ttl, /* may be different than the requested ttl */
862
- void *context
863
- )
864
- {
865
- CComObject<CDNSSDService> * service;
866
- int err;
867
-
868
- service = ( CComObject< CDNSSDService>* ) context;
869
- require_action( service, exit, err = kDNSServiceErr_Unknown );
870
-
871
- if ( !service->Stopped() )
872
- {
873
- INATPortMappingListener * listener;
874
-
875
- listener = ( INATPortMappingListener* ) service->GetListener();
876
- require_action( listener, exit, err = kDNSServiceErr_Unknown );
877
-
878
- if ( !errorCode )
879
- {
880
- listener->MappingCreated( service, ( DNSSDFlags ) flags, ifIndex, externalAddress, ( DNSSDAddressFamily ) ( protocol & 0x8 ), ( DNSSDProtocol ) ( protocol & 0x80 ), internalPort, externalPort, ttl );
881
- }
882
- else
883
- {
884
- listener->MappingFailed( service, ( DNSSDError ) errorCode );
885
- }
886
- }
887
-
888
- exit:
889
-
890
- return;
891
- }
892
-