14
|
1 /**
|
|
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
|
|
3 * Authors: Jacob Carlborg
|
|
4 * Version: Initial created: Aug 3, 2009
|
|
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
|
|
6 */
|
|
7 module dstep.foundation.NSNetServices;
|
|
8
|
|
9 import dstep.foundation.NSArray;
|
|
10 import dstep.foundation.NSData;
|
|
11 import dstep.foundation.NSDate;
|
|
12 import dstep.foundation.NSDictionary;
|
|
13 import dstep.foundation.NSInputStream;
|
|
14 import dstep.foundation.NSObject;
|
|
15 import dstep.foundation.NSOutputStream;
|
|
16 import dstep.foundation.NSRunLoop;
|
|
17 import dstep.foundation.NSString;
|
|
18 import dstep.objc.bridge.Bridge;
|
|
19 import dstep.objc.objc : id;
|
|
20
|
|
21 import bindings = dstep.foundation.NSNetServices_bindings;
|
|
22
|
|
23 alias NSInteger NSNetServicesError;
|
|
24 alias NSUInteger NSNetServiceOptions;
|
|
25
|
|
26 const NSString NSNetServicesErrorCode;
|
|
27 const NSString NSNetServicesErrorDomain;
|
|
28
|
|
29 enum
|
|
30 {
|
|
31 NSNetServicesUnknownError = -72000,
|
|
32 NSNetServicesCollisionError = -72001,
|
|
33 NSNetServicesNotFoundError = -72002,
|
|
34 NSNetServicesActivityInProgress = -72003,
|
|
35 NSNetServicesBadArgumentError = -72004,
|
|
36 NSNetServicesCancelledError = -72005,
|
|
37 NSNetServicesInvalidError = -72006,
|
|
38 NSNetServicesTimeoutError = -72007
|
|
39 }
|
|
40
|
|
41 enum
|
|
42 {
|
|
43 NSNetServiceNoAutoRename = 1 << 0
|
|
44 }
|
|
45
|
|
46 static this ()
|
|
47 {
|
|
48 NSNetServicesErrorCode = new NSString(bindings.NSNetServicesErrorCode);
|
|
49 NSNetServicesErrorDomain = new NSString(bindings.NSNetServicesErrorDomain);
|
|
50 }
|
|
51
|
|
52 class NSNetService : NSObject
|
|
53 {
|
|
54 mixin ObjcWrap;
|
|
55
|
|
56 Object initWithDomain (NSString domain, NSString type, NSString name, int port)
|
|
57 {
|
|
58 return invokeObjcSelf!(Object, "initWithDomain:type:name:port:", NSString, NSString, NSString, int)(domain, type, name, port);
|
|
59 }
|
|
60
|
|
61 this (NSString domain, NSString type, NSString name, int port)
|
|
62 {
|
|
63 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
|
|
64 id result = Bridge.invokeObjcMethod!(id, "initWithDomain:type:name:port:", NSString, NSString, NSString, int)(objcObject, domain, type, name, port);
|
|
65
|
|
66 if (result)
|
|
67 objcObject = ret;
|
|
68
|
|
69 dObject = this;
|
|
70 }
|
|
71
|
|
72 Object initWithDomain (NSString domain, NSString type, NSString name)
|
|
73 {
|
|
74 return invokeObjcSelf!(Object, "initWithDomain:type:name:", NSString, NSString, NSString)(domain, type, name);
|
|
75 }
|
|
76
|
|
77 this (NSString domain, NSString type, NSString name)
|
|
78 {
|
|
79 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
|
|
80 id result = Bridge.invokeObjcMethod!(id, "initWithDomain:type:name:", NSString, NSString, NSString)(objcObject, domain, type, name);
|
|
81
|
|
82 if (result)
|
|
83 objcObject = ret;
|
|
84
|
|
85 dObject = this;
|
|
86 }
|
|
87
|
|
88 Object delegate_ ()
|
|
89 {
|
|
90 return invokeObjcSelf!(Object, "delegate");
|
|
91 }
|
|
92
|
|
93 void setDelegate (Object delegate_)
|
|
94 {
|
|
95 return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_);
|
|
96 }
|
|
97
|
|
98 void scheduleInRunLoop (NSRunLoop aRunLoop, NSString mode)
|
|
99 {
|
|
100 return invokeObjcSelf!(void, "scheduleInRunLoop:forMode:", NSRunLoop, NSString)(aRunLoop, mode);
|
|
101 }
|
|
102
|
|
103 void removeFromRunLoop (NSRunLoop aRunLoop, NSString mode)
|
|
104 {
|
|
105 return invokeObjcSelf!(void, "removeFromRunLoop:forMode:", NSRunLoop, NSString)(aRunLoop, mode);
|
|
106 }
|
|
107
|
|
108 NSString domain ()
|
|
109 {
|
|
110 return invokeObjcSelf!(NSString, "domain");
|
|
111 }
|
|
112
|
|
113 NSString type ()
|
|
114 {
|
|
115 return invokeObjcSelf!(NSString, "type");
|
|
116 }
|
|
117
|
|
118 NSString name ()
|
|
119 {
|
|
120 return invokeObjcSelf!(NSString, "name");
|
|
121 }
|
|
122
|
|
123 NSArray addresses ()
|
|
124 {
|
|
125 return invokeObjcSelf!(NSArray, "addresses");
|
|
126 }
|
|
127
|
|
128 NSInteger port ()
|
|
129 {
|
|
130 return invokeObjcSelf!(NSInteger, "port");
|
|
131 }
|
|
132
|
|
133 void publish ()
|
|
134 {
|
|
135 return invokeObjcSelf!(void, "publish");
|
|
136 }
|
|
137
|
|
138 void publishWithOptions (uint options)
|
|
139 {
|
|
140 return invokeObjcSelf!(void, "publishWithOptions:", uint)(options);
|
|
141 }
|
|
142
|
|
143 void resolve ()
|
|
144 {
|
|
145 return invokeObjcSelf!(void, "resolve");
|
|
146 }
|
|
147
|
|
148 void stop ()
|
|
149 {
|
|
150 return invokeObjcSelf!(void, "stop");
|
|
151 }
|
|
152
|
|
153 static NSDictionary dictionaryFromTXTRecordData (NSData txtData)
|
|
154 {
|
|
155 return invokeObjcSelfClass!(NSDictionary, "dictionaryFromTXTRecordData:", NSData)(txtData);
|
|
156 }
|
|
157
|
|
158 static NSData dataFromTXTRecordDictionary (NSDictionary txtDictionary)
|
|
159 {
|
|
160 return invokeObjcSelfClass!(NSData, "dataFromTXTRecordDictionary:", NSDictionary)(txtDictionary);
|
|
161 }
|
|
162
|
|
163 NSString hostName ()
|
|
164 {
|
|
165 return invokeObjcSelf!(NSString, "hostName");
|
|
166 }
|
|
167
|
|
168 void resolveWithTimeout (double timeout)
|
|
169 {
|
|
170 return invokeObjcSelf!(void, "resolveWithTimeout:", double)(timeout);
|
|
171 }
|
|
172
|
|
173 bool getInputStream (NSInputStream** inputStream, NSOutputStream** outputStream)
|
|
174 {
|
|
175 return invokeObjcSelf!(bool, "getInputStream:outputStream:", NSInputStream**, NSOutputStream**)(inputStream, outputStream);
|
|
176 }
|
|
177
|
|
178 bool setTXTRecordData (NSData recordData)
|
|
179 {
|
|
180 return invokeObjcSelf!(bool, "setTXTRecordData:", NSData)(recordData);
|
|
181 }
|
|
182
|
|
183 NSData TXTRecordData ()
|
|
184 {
|
|
185 return invokeObjcSelf!(NSData, "TXTRecordData");
|
|
186 }
|
|
187
|
|
188 void startMonitoring ()
|
|
189 {
|
|
190 return invokeObjcSelf!(void, "startMonitoring");
|
|
191 }
|
|
192
|
|
193 void stopMonitoring ()
|
|
194 {
|
|
195 return invokeObjcSelf!(void, "stopMonitoring");
|
|
196 }
|
|
197 }
|
|
198
|
|
199 class NSNetServiceBrowser : NSObject
|
|
200 {
|
|
201 mixin ObjcWrap;
|
|
202 mixin TNSDeprecated;
|
|
203
|
|
204 Object init ()
|
|
205 {
|
|
206 return invokeObjcSelf!(Object, "init");
|
|
207 }
|
|
208
|
|
209 this ()
|
|
210 {
|
|
211 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass);
|
|
212 id result = Bridge.invokeObjcMethod!(id, "init")(objcObject);
|
|
213
|
|
214 if (result)
|
|
215 objcObject = ret;
|
|
216
|
|
217 dObject = this;
|
|
218 }
|
|
219
|
|
220 Object delegate_ ()
|
|
221 {
|
|
222 return invokeObjcSelf!(Object, "delegate");
|
|
223 }
|
|
224
|
|
225 void setDelegate (Object delegate_)
|
|
226 {
|
|
227 return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_);
|
|
228 }
|
|
229
|
|
230 void scheduleInRunLoop (NSRunLoop aRunLoop, NSString mode)
|
|
231 {
|
|
232 return invokeObjcSelf!(void, "scheduleInRunLoop:forMode:", NSRunLoop, NSString)(aRunLoop, mode);
|
|
233 }
|
|
234
|
|
235 void removeFromRunLoop (NSRunLoop aRunLoop, NSString mode)
|
|
236 {
|
|
237 return invokeObjcSelf!(void, "removeFromRunLoop:forMode:", NSRunLoop, NSString)(aRunLoop, mode);
|
|
238 }
|
|
239
|
|
240 void searchForBrowsableDomains ()
|
|
241 {
|
|
242 return invokeObjcSelf!(void, "searchForBrowsableDomains");
|
|
243 }
|
|
244
|
|
245 void searchForRegistrationDomains ()
|
|
246 {
|
|
247 return invokeObjcSelf!(void, "searchForRegistrationDomains");
|
|
248 }
|
|
249
|
|
250 void searchForServicesOfType (NSString type, NSString domainString)
|
|
251 {
|
|
252 return invokeObjcSelf!(void, "searchForServicesOfType:inDomain:", NSString, NSString)(type, domainString);
|
|
253 }
|
|
254
|
|
255 void stop ()
|
|
256 {
|
|
257 return invokeObjcSelf!(void, "stop");
|
|
258 }
|
|
259 }
|
|
260
|
|
261 template TNSDeprecated ()
|
|
262 {
|
|
263 void searchForAllDomains ()
|
|
264 {
|
|
265 return invokeObjcSelf!(void, "searchForAllDomains");
|
|
266 }
|
|
267 }
|
|
268
|
|
269 template TNSNetServiceDelegateMethods ()
|
|
270 {
|
|
271 void netServiceWillPublish (NSNetService sender);
|
|
272 void netServiceDidPublish (NSNetService sender);
|
|
273 void netService (NSNetService sender, NSDictionary errorDict);
|
|
274 void netServiceWillResolve (NSNetService sender);
|
|
275 void netServiceDidResolveAddress (NSNetService sender);
|
|
276 void netService (NSNetService sender, NSDictionary errorDict);
|
|
277 void netServiceDidStop (NSNetService sender);
|
|
278 void netService (NSNetService sender, NSData data);
|
|
279 }
|
|
280
|
|
281 template TNSNetServiceBrowserDelegateMethods ()
|
|
282 {
|
|
283 void netServiceBrowserWillSearch (NSNetServiceBrowser aNetServiceBrowser);
|
|
284 void netServiceBrowserDidStopSearch (NSNetServiceBrowser aNetServiceBrowser);
|
|
285 void netServiceBrowser (NSNetServiceBrowser aNetServiceBrowser, NSDictionary errorDict);
|
|
286 void netServiceBrowser (NSNetServiceBrowser aNetServiceBrowser, NSString domainString, bool moreComing);
|
|
287 void netServiceBrowser (NSNetServiceBrowser aNetServiceBrowser, NSNetService aNetService, bool moreComing);
|
|
288 void netServiceBrowser (NSNetServiceBrowser aNetServiceBrowser, NSString domainString, bool moreComing);
|
|
289 void netServiceBrowser (NSNetServiceBrowser aNetServiceBrowser, NSNetService aNetService, bool moreComing);
|
|
290 }
|
|
291
|