]> git.saurik.com Git - apple/mdnsresponder.git/blob - mDNSWindows/DLLX/_IDNSSDEvents_CP.h
mDNSResponder-878.270.2.tar.gz
[apple/mdnsresponder.git] / mDNSWindows / DLLX / _IDNSSDEvents_CP.h
1
2 // Wizard-generated connection point proxy class
3 // WARNING: This file may be regenerated by the wizard
4
5
6 #pragma once
7
8 template<class T>
9 class CProxy_IDNSSDEvents :
10 public IConnectionPointImpl<T, &__uuidof(_IDNSSDEvents)>
11 {
12 public:
13 HRESULT Fire_DomainFound( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR domain)
14 {
15 HRESULT hr = S_OK;
16 T * pThis = static_cast<T *>(this);
17 int cConnections = m_vec.GetSize();
18
19 for (int iConnection = 0; iConnection < cConnections; iConnection++)
20 {
21 pThis->Lock();
22 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
23 pThis->Unlock();
24
25 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
26
27 if (pConnection)
28 {
29 CComVariant avarParams[4];
30 avarParams[3] = service;
31 avarParams[2] = flags;
32 avarParams[1] = ifIndex;
33 avarParams[1].vt = VT_UI4;
34 avarParams[0] = domain;
35 avarParams[0].vt = VT_BSTR;
36 DISPPARAMS params = { avarParams, NULL, 4, 0 };
37 hr = pConnection->Invoke(1, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
38 }
39 }
40 return hr;
41 }
42 HRESULT Fire_DomainLost( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR domain)
43 {
44 HRESULT hr = S_OK;
45 T * pThis = static_cast<T *>(this);
46 int cConnections = m_vec.GetSize();
47
48 for (int iConnection = 0; iConnection < cConnections; iConnection++)
49 {
50 pThis->Lock();
51 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
52 pThis->Unlock();
53
54 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
55
56 if (pConnection)
57 {
58 CComVariant avarParams[4];
59 avarParams[3] = service;
60 avarParams[2] = flags;
61 avarParams[1] = ifIndex;
62 avarParams[1].vt = VT_UI4;
63 avarParams[0] = domain;
64 avarParams[0].vt = VT_BSTR;
65 DISPPARAMS params = { avarParams, NULL, 4, 0 };
66 hr = pConnection->Invoke(2, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
67 }
68 }
69 return hr;
70 }
71 HRESULT Fire_ServiceFound( IDNSSDService * browser, DNSSDFlags flags, ULONG ifIndex, BSTR serviceName, BSTR regType, BSTR domain)
72 {
73 HRESULT hr = S_OK;
74 T * pThis = static_cast<T *>(this);
75 int cConnections = m_vec.GetSize();
76
77 for (int iConnection = 0; iConnection < cConnections; iConnection++)
78 {
79 pThis->Lock();
80 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
81 pThis->Unlock();
82
83 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
84
85 if (pConnection)
86 {
87 CComVariant avarParams[6];
88 avarParams[5] = browser;
89 avarParams[4] = flags;
90 avarParams[3] = ifIndex;
91 avarParams[3].vt = VT_UI4;
92 avarParams[2] = serviceName;
93 avarParams[2].vt = VT_BSTR;
94 avarParams[1] = regType;
95 avarParams[1].vt = VT_BSTR;
96 avarParams[0] = domain;
97 avarParams[0].vt = VT_BSTR;
98 DISPPARAMS params = { avarParams, NULL, 6, 0 };
99 hr = pConnection->Invoke(3, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
100 }
101 }
102 return hr;
103 }
104 HRESULT Fire_ServiceLost( IDNSSDService * browser, DNSSDFlags flags, ULONG ifIndex, BSTR serviceName, BSTR regType, BSTR domain)
105 {
106 HRESULT hr = S_OK;
107 T * pThis = static_cast<T *>(this);
108 int cConnections = m_vec.GetSize();
109
110 for (int iConnection = 0; iConnection < cConnections; iConnection++)
111 {
112 pThis->Lock();
113 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
114 pThis->Unlock();
115
116 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
117
118 if (pConnection)
119 {
120 CComVariant avarParams[6];
121 avarParams[5] = browser;
122 avarParams[4] = flags;
123 avarParams[3] = ifIndex;
124 avarParams[3].vt = VT_UI4;
125 avarParams[2] = serviceName;
126 avarParams[2].vt = VT_BSTR;
127 avarParams[1] = regType;
128 avarParams[1].vt = VT_BSTR;
129 avarParams[0] = domain;
130 avarParams[0].vt = VT_BSTR;
131 DISPPARAMS params = { avarParams, NULL, 6, 0 };
132 hr = pConnection->Invoke(4, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
133 }
134 }
135 return hr;
136 }
137 HRESULT Fire_ServiceResolved( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR fullName, BSTR hostName, USHORT port, ITXTRecord * record)
138 {
139 HRESULT hr = S_OK;
140 T * pThis = static_cast<T *>(this);
141 int cConnections = m_vec.GetSize();
142
143 for (int iConnection = 0; iConnection < cConnections; iConnection++)
144 {
145 pThis->Lock();
146 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
147 pThis->Unlock();
148
149 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
150
151 if (pConnection)
152 {
153 CComVariant avarParams[7];
154 avarParams[6] = service;
155 avarParams[5] = flags;
156 avarParams[4] = ifIndex;
157 avarParams[4].vt = VT_UI4;
158 avarParams[3] = fullName;
159 avarParams[3].vt = VT_BSTR;
160 avarParams[2] = hostName;
161 avarParams[2].vt = VT_BSTR;
162 avarParams[1] = port;
163 avarParams[1].vt = VT_UI2;
164 avarParams[0] = record;
165 DISPPARAMS params = { avarParams, NULL, 7, 0 };
166 hr = pConnection->Invoke(5, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
167 }
168 }
169 return hr;
170 }
171 HRESULT Fire_ServiceRegistered( IDNSSDService * service, DNSSDFlags flags, BSTR name, BSTR regType, BSTR domain)
172 {
173 HRESULT hr = S_OK;
174 T * pThis = static_cast<T *>(this);
175 int cConnections = m_vec.GetSize();
176
177 for (int iConnection = 0; iConnection < cConnections; iConnection++)
178 {
179 pThis->Lock();
180 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
181 pThis->Unlock();
182
183 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
184
185 if (pConnection)
186 {
187 CComVariant avarParams[5];
188 avarParams[4] = service;
189 avarParams[3] = flags;
190 avarParams[2] = name;
191 avarParams[2].vt = VT_BSTR;
192 avarParams[1] = regType;
193 avarParams[1].vt = VT_BSTR;
194 avarParams[0] = domain;
195 avarParams[0].vt = VT_BSTR;
196 DISPPARAMS params = { avarParams, NULL, 5, 0 };
197 hr = pConnection->Invoke(6, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
198 }
199 }
200 return hr;
201 }
202 HRESULT Fire_QueryRecordAnswered( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR fullName, DNSSDRRType rrtype, DNSSDRRClass rrclass, VARIANT rdata, ULONG ttl)
203 {
204 HRESULT hr = S_OK;
205 T * pThis = static_cast<T *>(this);
206 int cConnections = m_vec.GetSize();
207
208 for (int iConnection = 0; iConnection < cConnections; iConnection++)
209 {
210 pThis->Lock();
211 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
212 pThis->Unlock();
213
214 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
215
216 if (pConnection)
217 {
218 CComVariant avarParams[8];
219 avarParams[7] = service;
220 avarParams[6] = flags;
221 avarParams[5] = ifIndex;
222 avarParams[5].vt = VT_UI4;
223 avarParams[4] = fullName;
224 avarParams[4].vt = VT_BSTR;
225 avarParams[3] = rrtype;
226 avarParams[2] = rrclass;
227 avarParams[1] = rdata;
228 avarParams[0] = ttl;
229 avarParams[0].vt = VT_UI4;
230 DISPPARAMS params = { avarParams, NULL, 8, 0 };
231 hr = pConnection->Invoke(7, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
232 }
233 }
234 return hr;
235 }
236 HRESULT Fire_RecordRegistered( IDNSSDRecord * record, DNSSDFlags flags)
237 {
238 HRESULT hr = S_OK;
239 T * pThis = static_cast<T *>(this);
240 int cConnections = m_vec.GetSize();
241
242 for (int iConnection = 0; iConnection < cConnections; iConnection++)
243 {
244 pThis->Lock();
245 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
246 pThis->Unlock();
247
248 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
249
250 if (pConnection)
251 {
252 CComVariant avarParams[2];
253 avarParams[1] = record;
254 avarParams[0] = flags;
255 DISPPARAMS params = { avarParams, NULL, 2, 0 };
256 hr = pConnection->Invoke(8, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
257 }
258 }
259 return hr;
260 }
261 HRESULT Fire_AddressFound( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, BSTR hostname, DNSSDAddressFamily addressFamily, BSTR address, ULONG ttl)
262 {
263 HRESULT hr = S_OK;
264 T * pThis = static_cast<T *>(this);
265 int cConnections = m_vec.GetSize();
266
267 for (int iConnection = 0; iConnection < cConnections; iConnection++)
268 {
269 pThis->Lock();
270 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
271 pThis->Unlock();
272
273 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
274
275 if (pConnection)
276 {
277 CComVariant avarParams[7];
278 avarParams[6] = service;
279 avarParams[5] = flags;
280 avarParams[4] = ifIndex;
281 avarParams[4].vt = VT_UI4;
282 avarParams[3] = hostname;
283 avarParams[3].vt = VT_BSTR;
284 avarParams[2] = addressFamily;
285 avarParams[1] = address;
286 avarParams[1].vt = VT_BSTR;
287 avarParams[0] = ttl;
288 avarParams[0].vt = VT_UI4;
289 DISPPARAMS params = { avarParams, NULL, 7, 0 };
290 hr = pConnection->Invoke(9, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
291 }
292 }
293 return hr;
294 }
295 HRESULT Fire_MappingCreated( IDNSSDService * service, DNSSDFlags flags, ULONG ifIndex, ULONG externalAddress, DNSSDAddressFamily addressFamily, DNSSDProtocol protocol, USHORT internalPort, USHORT externalPort, ULONG ttl)
296 {
297 HRESULT hr = S_OK;
298 T * pThis = static_cast<T *>(this);
299 int cConnections = m_vec.GetSize();
300
301 for (int iConnection = 0; iConnection < cConnections; iConnection++)
302 {
303 pThis->Lock();
304 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
305 pThis->Unlock();
306
307 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
308
309 if (pConnection)
310 {
311 CComVariant avarParams[9];
312 avarParams[8] = service;
313 avarParams[7] = flags;
314 avarParams[6] = ifIndex;
315 avarParams[6].vt = VT_UI4;
316 avarParams[5] = externalAddress;
317 avarParams[5].vt = VT_UI4;
318 avarParams[4] = addressFamily;
319 avarParams[3] = protocol;
320 avarParams[2] = internalPort;
321 avarParams[2].vt = VT_UI2;
322 avarParams[1] = externalPort;
323 avarParams[1].vt = VT_UI2;
324 avarParams[0] = ttl;
325 avarParams[0].vt = VT_UI4;
326 DISPPARAMS params = { avarParams, NULL, 9, 0 };
327 hr = pConnection->Invoke(10, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
328 }
329 }
330 return hr;
331 }
332 HRESULT Fire_OperationFailed( IDNSSDService * service, DNSSDError error)
333 {
334 HRESULT hr = S_OK;
335 T * pThis = static_cast<T *>(this);
336 int cConnections = m_vec.GetSize();
337
338 for (int iConnection = 0; iConnection < cConnections; iConnection++)
339 {
340 pThis->Lock();
341 CComPtr<IUnknown> punkConnection = m_vec.GetAt(iConnection);
342 pThis->Unlock();
343
344 IDispatch * pConnection = static_cast<IDispatch *>(punkConnection.p);
345
346 if (pConnection)
347 {
348 CComVariant avarParams[2];
349 avarParams[1] = service;
350 avarParams[0] = error;
351 DISPPARAMS params = { avarParams, NULL, 2, 0 };
352 hr = pConnection->Invoke(11, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &params, NULL, NULL, NULL);
353 }
354 }
355 return hr;
356 }
357 };
358