xref: /aosp_15_r20/external/mdnsresponder/mDNSWindows/DLLX/DNSSDEventManager.h (revision 48a54d368dc4fa860885eef7b70b6c53499e7c25)
1*48a54d36SAndroid Build Coastguard Worker /* -*- Mode: C; tab-width: 4 -*-
2*48a54d36SAndroid Build Coastguard Worker  *
3*48a54d36SAndroid Build Coastguard Worker  * Copyright (c) 2009 Apple Computer, Inc. All rights reserved.
4*48a54d36SAndroid Build Coastguard Worker  *
5*48a54d36SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*48a54d36SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*48a54d36SAndroid Build Coastguard Worker  * You may obtain a copy of the License at
8*48a54d36SAndroid Build Coastguard Worker  *
9*48a54d36SAndroid Build Coastguard Worker  *     http://www.apache.org/licenses/LICENSE-2.0
10*48a54d36SAndroid Build Coastguard Worker  *
11*48a54d36SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*48a54d36SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*48a54d36SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*48a54d36SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*48a54d36SAndroid Build Coastguard Worker  * limitations under the License.
16*48a54d36SAndroid Build Coastguard Worker  */
17*48a54d36SAndroid Build Coastguard Worker 
18*48a54d36SAndroid Build Coastguard Worker 
19*48a54d36SAndroid Build Coastguard Worker 
20*48a54d36SAndroid Build Coastguard Worker #pragma once
21*48a54d36SAndroid Build Coastguard Worker 
22*48a54d36SAndroid Build Coastguard Worker #include "resource.h"       // main symbols
23*48a54d36SAndroid Build Coastguard Worker 
24*48a54d36SAndroid Build Coastguard Worker 
25*48a54d36SAndroid Build Coastguard Worker 
26*48a54d36SAndroid Build Coastguard Worker #include "DLLX.h"
27*48a54d36SAndroid Build Coastguard Worker 
28*48a54d36SAndroid Build Coastguard Worker #include "_IDNSSDEvents_CP.H"
29*48a54d36SAndroid Build Coastguard Worker 
30*48a54d36SAndroid Build Coastguard Worker 
31*48a54d36SAndroid Build Coastguard Worker 
32*48a54d36SAndroid Build Coastguard Worker 
33*48a54d36SAndroid Build Coastguard Worker 
34*48a54d36SAndroid Build Coastguard Worker #if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
35*48a54d36SAndroid Build Coastguard Worker 
36*48a54d36SAndroid Build Coastguard Worker #error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
37*48a54d36SAndroid Build Coastguard Worker 
38*48a54d36SAndroid Build Coastguard Worker #endif
39*48a54d36SAndroid Build Coastguard Worker 
40*48a54d36SAndroid Build Coastguard Worker 
41*48a54d36SAndroid Build Coastguard Worker 
42*48a54d36SAndroid Build Coastguard Worker 
43*48a54d36SAndroid Build Coastguard Worker 
44*48a54d36SAndroid Build Coastguard Worker 
45*48a54d36SAndroid Build Coastguard Worker 
46*48a54d36SAndroid Build Coastguard Worker // CDNSSDEventManager
47*48a54d36SAndroid Build Coastguard Worker 
48*48a54d36SAndroid Build Coastguard Worker 
49*48a54d36SAndroid Build Coastguard Worker 
50*48a54d36SAndroid Build Coastguard Worker class ATL_NO_VTABLE CDNSSDEventManager :
51*48a54d36SAndroid Build Coastguard Worker 
52*48a54d36SAndroid Build Coastguard Worker 	public CComObjectRootEx<CComSingleThreadModel>,
53*48a54d36SAndroid Build Coastguard Worker 
54*48a54d36SAndroid Build Coastguard Worker 	public CComCoClass<CDNSSDEventManager, &CLSID_DNSSDEventManager>,
55*48a54d36SAndroid Build Coastguard Worker 
56*48a54d36SAndroid Build Coastguard Worker 	public IConnectionPointContainerImpl<CDNSSDEventManager>,
57*48a54d36SAndroid Build Coastguard Worker 
58*48a54d36SAndroid Build Coastguard Worker 	public CProxy_IDNSSDEvents<CDNSSDEventManager>,
59*48a54d36SAndroid Build Coastguard Worker 
60*48a54d36SAndroid Build Coastguard Worker 	public IDispatchImpl<IDNSSDEventManager, &IID_IDNSSDEventManager, &LIBID_Bonjour, /*wMajor =*/ 1, /*wMinor =*/ 0>
61*48a54d36SAndroid Build Coastguard Worker 
62*48a54d36SAndroid Build Coastguard Worker {
63*48a54d36SAndroid Build Coastguard Worker 
64*48a54d36SAndroid Build Coastguard Worker public:
65*48a54d36SAndroid Build Coastguard Worker 
CDNSSDEventManager()66*48a54d36SAndroid Build Coastguard Worker 	CDNSSDEventManager()
67*48a54d36SAndroid Build Coastguard Worker 
68*48a54d36SAndroid Build Coastguard Worker 	{
69*48a54d36SAndroid Build Coastguard Worker 
70*48a54d36SAndroid Build Coastguard Worker 	}
71*48a54d36SAndroid Build Coastguard Worker 
72*48a54d36SAndroid Build Coastguard Worker 
73*48a54d36SAndroid Build Coastguard Worker 
74*48a54d36SAndroid Build Coastguard Worker DECLARE_REGISTRY_RESOURCEID(IDR_DNSSDEVENTMANAGER)
75*48a54d36SAndroid Build Coastguard Worker 
76*48a54d36SAndroid Build Coastguard Worker 
77*48a54d36SAndroid Build Coastguard Worker 
78*48a54d36SAndroid Build Coastguard Worker 
79*48a54d36SAndroid Build Coastguard Worker 
BEGIN_COM_MAP(CDNSSDEventManager)80*48a54d36SAndroid Build Coastguard Worker BEGIN_COM_MAP(CDNSSDEventManager)
81*48a54d36SAndroid Build Coastguard Worker 
82*48a54d36SAndroid Build Coastguard Worker 	COM_INTERFACE_ENTRY(IDNSSDEventManager)
83*48a54d36SAndroid Build Coastguard Worker 
84*48a54d36SAndroid Build Coastguard Worker 	COM_INTERFACE_ENTRY(IDispatch)
85*48a54d36SAndroid Build Coastguard Worker 
86*48a54d36SAndroid Build Coastguard Worker 	COM_INTERFACE_ENTRY(IConnectionPointContainer)
87*48a54d36SAndroid Build Coastguard Worker 
88*48a54d36SAndroid Build Coastguard Worker END_COM_MAP()
89*48a54d36SAndroid Build Coastguard Worker 
90*48a54d36SAndroid Build Coastguard Worker 
91*48a54d36SAndroid Build Coastguard Worker 
92*48a54d36SAndroid Build Coastguard Worker BEGIN_CONNECTION_POINT_MAP(CDNSSDEventManager)
93*48a54d36SAndroid Build Coastguard Worker 
94*48a54d36SAndroid Build Coastguard Worker 	CONNECTION_POINT_ENTRY(__uuidof(_IDNSSDEvents))
95*48a54d36SAndroid Build Coastguard Worker 
96*48a54d36SAndroid Build Coastguard Worker END_CONNECTION_POINT_MAP()
97*48a54d36SAndroid Build Coastguard Worker 
98*48a54d36SAndroid Build Coastguard Worker 
99*48a54d36SAndroid Build Coastguard Worker 
100*48a54d36SAndroid Build Coastguard Worker 
101*48a54d36SAndroid Build Coastguard Worker 
102*48a54d36SAndroid Build Coastguard Worker 	DECLARE_PROTECT_FINAL_CONSTRUCT()
103*48a54d36SAndroid Build Coastguard Worker 
104*48a54d36SAndroid Build Coastguard Worker 
105*48a54d36SAndroid Build Coastguard Worker 
106*48a54d36SAndroid Build Coastguard Worker 	HRESULT FinalConstruct()
107*48a54d36SAndroid Build Coastguard Worker 
108*48a54d36SAndroid Build Coastguard Worker 	{
109*48a54d36SAndroid Build Coastguard Worker 
110*48a54d36SAndroid Build Coastguard Worker 		return S_OK;
111*48a54d36SAndroid Build Coastguard Worker 
112*48a54d36SAndroid Build Coastguard Worker 	}
113*48a54d36SAndroid Build Coastguard Worker 
114*48a54d36SAndroid Build Coastguard Worker 
115*48a54d36SAndroid Build Coastguard Worker 
FinalRelease()116*48a54d36SAndroid Build Coastguard Worker 	void FinalRelease()
117*48a54d36SAndroid Build Coastguard Worker 
118*48a54d36SAndroid Build Coastguard Worker 	{
119*48a54d36SAndroid Build Coastguard Worker 
120*48a54d36SAndroid Build Coastguard Worker 	}
121*48a54d36SAndroid Build Coastguard Worker 
122*48a54d36SAndroid Build Coastguard Worker 
123*48a54d36SAndroid Build Coastguard Worker 
124*48a54d36SAndroid Build Coastguard Worker public:
125*48a54d36SAndroid Build Coastguard Worker 
126*48a54d36SAndroid Build Coastguard Worker 
127*48a54d36SAndroid Build Coastguard Worker 
128*48a54d36SAndroid Build Coastguard Worker };
129*48a54d36SAndroid Build Coastguard Worker 
130*48a54d36SAndroid Build Coastguard Worker 
131*48a54d36SAndroid Build Coastguard Worker 
132*48a54d36SAndroid Build Coastguard Worker OBJECT_ENTRY_AUTO(__uuidof(DNSSDEventManager), CDNSSDEventManager)
133*48a54d36SAndroid Build Coastguard Worker 
134