xref: /aosp_15_r20/external/mdnsresponder/mDNSWindows/ControlPanel/ControlPanel.cpp (revision 48a54d368dc4fa860885eef7b70b6c53499e7c25)
1*48a54d36SAndroid Build Coastguard Worker /* -*- Mode: C; tab-width: 4 -*-
2*48a54d36SAndroid Build Coastguard Worker  *
3*48a54d36SAndroid Build Coastguard Worker  * Copyright (c) 2002-2004 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 #include "ControlPanel.h"
20*48a54d36SAndroid Build Coastguard Worker #include "ConfigDialog.h"
21*48a54d36SAndroid Build Coastguard Worker #include "ConfigPropertySheet.h"
22*48a54d36SAndroid Build Coastguard Worker #include "resource.h"
23*48a54d36SAndroid Build Coastguard Worker 
24*48a54d36SAndroid Build Coastguard Worker #include <DebugServices.h>
25*48a54d36SAndroid Build Coastguard Worker 
26*48a54d36SAndroid Build Coastguard Worker 
27*48a54d36SAndroid Build Coastguard Worker #ifdef _DEBUG
28*48a54d36SAndroid Build Coastguard Worker #define new DEBUG_NEW
29*48a54d36SAndroid Build Coastguard Worker #undef THIS_FILE
30*48a54d36SAndroid Build Coastguard Worker static char THIS_FILE[] = __FILE__;
31*48a54d36SAndroid Build Coastguard Worker #endif
32*48a54d36SAndroid Build Coastguard Worker 
33*48a54d36SAndroid Build Coastguard Worker 
34*48a54d36SAndroid Build Coastguard Worker static CCPApp theApp;
35*48a54d36SAndroid Build Coastguard Worker 
36*48a54d36SAndroid Build Coastguard Worker 
37*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
38*48a54d36SAndroid Build Coastguard Worker //	GetControlPanelApp
39*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
40*48a54d36SAndroid Build Coastguard Worker 
41*48a54d36SAndroid Build Coastguard Worker CCPApp*
GetControlPanelApp()42*48a54d36SAndroid Build Coastguard Worker GetControlPanelApp()
43*48a54d36SAndroid Build Coastguard Worker {
44*48a54d36SAndroid Build Coastguard Worker 	CCPApp * pApp = (CCPApp*) AfxGetApp();
45*48a54d36SAndroid Build Coastguard Worker 
46*48a54d36SAndroid Build Coastguard Worker 	check( pApp );
47*48a54d36SAndroid Build Coastguard Worker 	check( pApp->IsKindOf( RUNTIME_CLASS( CCPApp ) ) );
48*48a54d36SAndroid Build Coastguard Worker 
49*48a54d36SAndroid Build Coastguard Worker 	return pApp;
50*48a54d36SAndroid Build Coastguard Worker }
51*48a54d36SAndroid Build Coastguard Worker 
52*48a54d36SAndroid Build Coastguard Worker 
53*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
54*48a54d36SAndroid Build Coastguard Worker //	CPlApplet
55*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
56*48a54d36SAndroid Build Coastguard Worker 
57*48a54d36SAndroid Build Coastguard Worker LONG APIENTRY
CPlApplet(HWND hWndCPl,UINT uMsg,LONG lParam1,LONG lParam2)58*48a54d36SAndroid Build Coastguard Worker CPlApplet(HWND hWndCPl, UINT uMsg, LONG lParam1, LONG lParam2)
59*48a54d36SAndroid Build Coastguard Worker {
60*48a54d36SAndroid Build Coastguard Worker 	AFX_MANAGE_STATE(AfxGetStaticModuleState());
61*48a54d36SAndroid Build Coastguard Worker 
62*48a54d36SAndroid Build Coastguard Worker 	CCPApp * pApp = GetControlPanelApp();
63*48a54d36SAndroid Build Coastguard Worker 
64*48a54d36SAndroid Build Coastguard Worker 	return ( LONG ) pApp->OnCplMsg(hWndCPl, uMsg, lParam1, lParam2);
65*48a54d36SAndroid Build Coastguard Worker }
66*48a54d36SAndroid Build Coastguard Worker 
67*48a54d36SAndroid Build Coastguard Worker 
68*48a54d36SAndroid Build Coastguard Worker IMPLEMENT_DYNAMIC(CCPApplet, CCmdTarget);
69*48a54d36SAndroid Build Coastguard Worker 
70*48a54d36SAndroid Build Coastguard Worker 
71*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
72*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::CCPApplet
73*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
74*48a54d36SAndroid Build Coastguard Worker 
CCPApplet(UINT resourceId,UINT descId,CRuntimeClass * uiClass)75*48a54d36SAndroid Build Coastguard Worker CCPApplet::CCPApplet(UINT resourceId, UINT descId, CRuntimeClass * uiClass)
76*48a54d36SAndroid Build Coastguard Worker :
77*48a54d36SAndroid Build Coastguard Worker 	m_resourceId(resourceId),
78*48a54d36SAndroid Build Coastguard Worker 	m_descId(descId),
79*48a54d36SAndroid Build Coastguard Worker 	m_uiClass(uiClass),
80*48a54d36SAndroid Build Coastguard Worker 	m_pageNumber(0)
81*48a54d36SAndroid Build Coastguard Worker {
82*48a54d36SAndroid Build Coastguard Worker 	check( uiClass );
83*48a54d36SAndroid Build Coastguard Worker 	check( uiClass->IsDerivedFrom( RUNTIME_CLASS( CDialog ) ) ||
84*48a54d36SAndroid Build Coastguard Worker 	       uiClass->IsDerivedFrom( RUNTIME_CLASS( CPropertySheet ) ) );
85*48a54d36SAndroid Build Coastguard Worker 
86*48a54d36SAndroid Build Coastguard Worker 	m_name.LoadString(resourceId);
87*48a54d36SAndroid Build Coastguard Worker }
88*48a54d36SAndroid Build Coastguard Worker 
89*48a54d36SAndroid Build Coastguard Worker 
90*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
91*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::~CCPApplet
92*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
93*48a54d36SAndroid Build Coastguard Worker 
~CCPApplet()94*48a54d36SAndroid Build Coastguard Worker CCPApplet::~CCPApplet()
95*48a54d36SAndroid Build Coastguard Worker {
96*48a54d36SAndroid Build Coastguard Worker }
97*48a54d36SAndroid Build Coastguard Worker 
98*48a54d36SAndroid Build Coastguard Worker 
99*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
100*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::OnStartParms
101*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
102*48a54d36SAndroid Build Coastguard Worker 
103*48a54d36SAndroid Build Coastguard Worker LRESULT
OnStartParms(CWnd * pParentWnd,LPCTSTR extra)104*48a54d36SAndroid Build Coastguard Worker CCPApplet::OnStartParms(CWnd * pParentWnd, LPCTSTR extra)
105*48a54d36SAndroid Build Coastguard Worker {
106*48a54d36SAndroid Build Coastguard Worker 	DEBUG_UNUSED( pParentWnd );
107*48a54d36SAndroid Build Coastguard Worker 
108*48a54d36SAndroid Build Coastguard Worker 	if ( extra )
109*48a54d36SAndroid Build Coastguard Worker 	{
110*48a54d36SAndroid Build Coastguard Worker 		m_pageNumber = ::_ttoi( extra ) - 1;
111*48a54d36SAndroid Build Coastguard Worker 	}
112*48a54d36SAndroid Build Coastguard Worker 
113*48a54d36SAndroid Build Coastguard Worker 	return 0;
114*48a54d36SAndroid Build Coastguard Worker }
115*48a54d36SAndroid Build Coastguard Worker 
116*48a54d36SAndroid Build Coastguard Worker 
117*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
118*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::OnRun
119*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
120*48a54d36SAndroid Build Coastguard Worker 
121*48a54d36SAndroid Build Coastguard Worker LRESULT
OnRun(CWnd * pParentWnd)122*48a54d36SAndroid Build Coastguard Worker CCPApplet::OnRun(CWnd* pParentWnd)
123*48a54d36SAndroid Build Coastguard Worker {
124*48a54d36SAndroid Build Coastguard Worker 	LRESULT		lResult = 1;
125*48a54d36SAndroid Build Coastguard Worker 	CWnd	*	pWnd;
126*48a54d36SAndroid Build Coastguard Worker 
127*48a54d36SAndroid Build Coastguard Worker 	InitCommonControls();
128*48a54d36SAndroid Build Coastguard Worker 
129*48a54d36SAndroid Build Coastguard Worker 	pWnd = (CWnd*) m_uiClass->CreateObject();
130*48a54d36SAndroid Build Coastguard Worker 
131*48a54d36SAndroid Build Coastguard Worker 	if ( pWnd )
132*48a54d36SAndroid Build Coastguard Worker 	{
133*48a54d36SAndroid Build Coastguard Worker 		lResult = ERROR_SUCCESS;
134*48a54d36SAndroid Build Coastguard Worker 
135*48a54d36SAndroid Build Coastguard Worker 		if ( pWnd->IsKindOf( RUNTIME_CLASS( CPropertySheet ) ) )
136*48a54d36SAndroid Build Coastguard Worker 		{
137*48a54d36SAndroid Build Coastguard Worker 			CPropertySheet * pSheet = (CPropertySheet*) pWnd;
138*48a54d36SAndroid Build Coastguard Worker 
139*48a54d36SAndroid Build Coastguard Worker 			pSheet->Construct(m_name, pParentWnd, m_pageNumber);
140*48a54d36SAndroid Build Coastguard Worker 
141*48a54d36SAndroid Build Coastguard Worker 			pSheet->DoModal();
142*48a54d36SAndroid Build Coastguard Worker 		}
143*48a54d36SAndroid Build Coastguard Worker 		else
144*48a54d36SAndroid Build Coastguard Worker 		{
145*48a54d36SAndroid Build Coastguard Worker 			check( pWnd->IsKindOf( RUNTIME_CLASS( CDialog ) ) );
146*48a54d36SAndroid Build Coastguard Worker 
147*48a54d36SAndroid Build Coastguard Worker 			CDialog * pDialog = (CDialog*) pWnd;
148*48a54d36SAndroid Build Coastguard Worker 
149*48a54d36SAndroid Build Coastguard Worker       		pDialog->DoModal();
150*48a54d36SAndroid Build Coastguard Worker     	}
151*48a54d36SAndroid Build Coastguard Worker 
152*48a54d36SAndroid Build Coastguard Worker 		delete pWnd;
153*48a54d36SAndroid Build Coastguard Worker   	}
154*48a54d36SAndroid Build Coastguard Worker 
155*48a54d36SAndroid Build Coastguard Worker 	return lResult;
156*48a54d36SAndroid Build Coastguard Worker }
157*48a54d36SAndroid Build Coastguard Worker 
158*48a54d36SAndroid Build Coastguard Worker 
159*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
160*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::OnInquire
161*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
162*48a54d36SAndroid Build Coastguard Worker 
163*48a54d36SAndroid Build Coastguard Worker LRESULT
OnInquire(CPLINFO * pInfo)164*48a54d36SAndroid Build Coastguard Worker CCPApplet::OnInquire(CPLINFO* pInfo)
165*48a54d36SAndroid Build Coastguard Worker {
166*48a54d36SAndroid Build Coastguard Worker 	pInfo->idIcon = m_resourceId;
167*48a54d36SAndroid Build Coastguard Worker 	pInfo->idName = m_resourceId;
168*48a54d36SAndroid Build Coastguard Worker 	pInfo->idInfo = m_descId;
169*48a54d36SAndroid Build Coastguard Worker 	pInfo->lData  = reinterpret_cast<LONG>(this);
170*48a54d36SAndroid Build Coastguard Worker 
171*48a54d36SAndroid Build Coastguard Worker 	return 0;
172*48a54d36SAndroid Build Coastguard Worker }
173*48a54d36SAndroid Build Coastguard Worker 
174*48a54d36SAndroid Build Coastguard Worker 
175*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
176*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::OnNewInquire
177*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
178*48a54d36SAndroid Build Coastguard Worker 
179*48a54d36SAndroid Build Coastguard Worker LRESULT
OnNewInquire(NEWCPLINFO * pInfo)180*48a54d36SAndroid Build Coastguard Worker CCPApplet::OnNewInquire(NEWCPLINFO* pInfo)
181*48a54d36SAndroid Build Coastguard Worker {
182*48a54d36SAndroid Build Coastguard Worker 	DEBUG_UNUSED( pInfo );
183*48a54d36SAndroid Build Coastguard Worker 
184*48a54d36SAndroid Build Coastguard Worker 	return 1;
185*48a54d36SAndroid Build Coastguard Worker }
186*48a54d36SAndroid Build Coastguard Worker 
187*48a54d36SAndroid Build Coastguard Worker 
188*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
189*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::OnSelect
190*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
191*48a54d36SAndroid Build Coastguard Worker 
192*48a54d36SAndroid Build Coastguard Worker LRESULT
OnSelect()193*48a54d36SAndroid Build Coastguard Worker CCPApplet::OnSelect()
194*48a54d36SAndroid Build Coastguard Worker {
195*48a54d36SAndroid Build Coastguard Worker 	return 0;
196*48a54d36SAndroid Build Coastguard Worker }
197*48a54d36SAndroid Build Coastguard Worker 
198*48a54d36SAndroid Build Coastguard Worker 
199*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
200*48a54d36SAndroid Build Coastguard Worker //	CCPApplet::OnStop
201*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
202*48a54d36SAndroid Build Coastguard Worker 
203*48a54d36SAndroid Build Coastguard Worker LRESULT
OnStop()204*48a54d36SAndroid Build Coastguard Worker CCPApplet::OnStop()
205*48a54d36SAndroid Build Coastguard Worker {
206*48a54d36SAndroid Build Coastguard Worker 	return 0;
207*48a54d36SAndroid Build Coastguard Worker }
208*48a54d36SAndroid Build Coastguard Worker 
209*48a54d36SAndroid Build Coastguard Worker 
210*48a54d36SAndroid Build Coastguard Worker IMPLEMENT_DYNAMIC(CCPApp, CWinApp);
211*48a54d36SAndroid Build Coastguard Worker 
212*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
213*48a54d36SAndroid Build Coastguard Worker //	CCPApp::CCPApp
214*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
215*48a54d36SAndroid Build Coastguard Worker 
CCPApp()216*48a54d36SAndroid Build Coastguard Worker CCPApp::CCPApp()
217*48a54d36SAndroid Build Coastguard Worker {
218*48a54d36SAndroid Build Coastguard Worker 	debug_initialize( kDebugOutputTypeWindowsEventLog, "DNS-SD Control Panel", GetModuleHandle( NULL ) );
219*48a54d36SAndroid Build Coastguard Worker 	debug_set_property( kDebugPropertyTagPrintLevel, kDebugLevelInfo );
220*48a54d36SAndroid Build Coastguard Worker }
221*48a54d36SAndroid Build Coastguard Worker 
222*48a54d36SAndroid Build Coastguard Worker 
223*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
224*48a54d36SAndroid Build Coastguard Worker //	CCPApp::~CCPApp
225*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
226*48a54d36SAndroid Build Coastguard Worker 
~CCPApp()227*48a54d36SAndroid Build Coastguard Worker CCPApp::~CCPApp()
228*48a54d36SAndroid Build Coastguard Worker {
229*48a54d36SAndroid Build Coastguard Worker 	while ( !m_applets.IsEmpty() )
230*48a54d36SAndroid Build Coastguard Worker 	{
231*48a54d36SAndroid Build Coastguard Worker     	delete m_applets.RemoveHead();
232*48a54d36SAndroid Build Coastguard Worker 	}
233*48a54d36SAndroid Build Coastguard Worker }
234*48a54d36SAndroid Build Coastguard Worker 
235*48a54d36SAndroid Build Coastguard Worker 
236*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
237*48a54d36SAndroid Build Coastguard Worker //	CCPApp::AddApplet
238*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
239*48a54d36SAndroid Build Coastguard Worker 
240*48a54d36SAndroid Build Coastguard Worker void
AddApplet(CCPApplet * applet)241*48a54d36SAndroid Build Coastguard Worker CCPApp::AddApplet( CCPApplet * applet )
242*48a54d36SAndroid Build Coastguard Worker {
243*48a54d36SAndroid Build Coastguard Worker 	check( applet );
244*48a54d36SAndroid Build Coastguard Worker 
245*48a54d36SAndroid Build Coastguard Worker 	m_applets.AddTail( applet );
246*48a54d36SAndroid Build Coastguard Worker }
247*48a54d36SAndroid Build Coastguard Worker 
248*48a54d36SAndroid Build Coastguard Worker 
249*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
250*48a54d36SAndroid Build Coastguard Worker //	CCPApp::OnInit
251*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
252*48a54d36SAndroid Build Coastguard Worker 
253*48a54d36SAndroid Build Coastguard Worker LRESULT
OnInit()254*48a54d36SAndroid Build Coastguard Worker CCPApp::OnInit()
255*48a54d36SAndroid Build Coastguard Worker {
256*48a54d36SAndroid Build Coastguard Worker 	CCPApplet * applet;
257*48a54d36SAndroid Build Coastguard Worker 
258*48a54d36SAndroid Build Coastguard Worker 	try
259*48a54d36SAndroid Build Coastguard Worker 	{
260*48a54d36SAndroid Build Coastguard Worker 		applet = new CCPApplet( IDR_APPLET, IDS_APPLET_DESCRIPTION, RUNTIME_CLASS( CConfigPropertySheet ) );
261*48a54d36SAndroid Build Coastguard Worker 	}
262*48a54d36SAndroid Build Coastguard Worker 	catch (...)
263*48a54d36SAndroid Build Coastguard Worker 	{
264*48a54d36SAndroid Build Coastguard Worker 		applet = NULL;
265*48a54d36SAndroid Build Coastguard Worker 	}
266*48a54d36SAndroid Build Coastguard Worker 
267*48a54d36SAndroid Build Coastguard Worker 	require_action( applet, exit, kNoMemoryErr );
268*48a54d36SAndroid Build Coastguard Worker 
269*48a54d36SAndroid Build Coastguard Worker 	AddApplet( applet );
270*48a54d36SAndroid Build Coastguard Worker 
271*48a54d36SAndroid Build Coastguard Worker exit:
272*48a54d36SAndroid Build Coastguard Worker 
273*48a54d36SAndroid Build Coastguard Worker 	return m_applets.GetCount();
274*48a54d36SAndroid Build Coastguard Worker }
275*48a54d36SAndroid Build Coastguard Worker 
276*48a54d36SAndroid Build Coastguard Worker 
277*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
278*48a54d36SAndroid Build Coastguard Worker //	CCPApp::OnExit
279*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
280*48a54d36SAndroid Build Coastguard Worker 
281*48a54d36SAndroid Build Coastguard Worker LRESULT
OnExit()282*48a54d36SAndroid Build Coastguard Worker CCPApp::OnExit()
283*48a54d36SAndroid Build Coastguard Worker {
284*48a54d36SAndroid Build Coastguard Worker   return 1;
285*48a54d36SAndroid Build Coastguard Worker }
286*48a54d36SAndroid Build Coastguard Worker 
287*48a54d36SAndroid Build Coastguard Worker 
288*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
289*48a54d36SAndroid Build Coastguard Worker //	CCPApp::OnCplMsg
290*48a54d36SAndroid Build Coastguard Worker //---------------------------------------------------------------------------------------------------------------------------
291*48a54d36SAndroid Build Coastguard Worker 
292*48a54d36SAndroid Build Coastguard Worker LRESULT
OnCplMsg(HWND hWndCPl,UINT uMsg,LPARAM lParam1,LPARAM lParam2)293*48a54d36SAndroid Build Coastguard Worker CCPApp::OnCplMsg(HWND hWndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
294*48a54d36SAndroid Build Coastguard Worker {
295*48a54d36SAndroid Build Coastguard Worker 	LRESULT lResult = 1;
296*48a54d36SAndroid Build Coastguard Worker 
297*48a54d36SAndroid Build Coastguard Worker 	switch ( uMsg )
298*48a54d36SAndroid Build Coastguard Worker 	{
299*48a54d36SAndroid Build Coastguard Worker 		case CPL_INIT:
300*48a54d36SAndroid Build Coastguard Worker 		{
301*48a54d36SAndroid Build Coastguard Worker 			lResult = OnInit();
302*48a54d36SAndroid Build Coastguard Worker 		}
303*48a54d36SAndroid Build Coastguard Worker 		break;
304*48a54d36SAndroid Build Coastguard Worker 
305*48a54d36SAndroid Build Coastguard Worker 		case CPL_EXIT:
306*48a54d36SAndroid Build Coastguard Worker 		{
307*48a54d36SAndroid Build Coastguard Worker 			lResult = OnExit();
308*48a54d36SAndroid Build Coastguard Worker 		}
309*48a54d36SAndroid Build Coastguard Worker 		break;
310*48a54d36SAndroid Build Coastguard Worker 
311*48a54d36SAndroid Build Coastguard Worker 		case CPL_GETCOUNT:
312*48a54d36SAndroid Build Coastguard Worker 		{
313*48a54d36SAndroid Build Coastguard Worker     		lResult = m_applets.GetCount();
314*48a54d36SAndroid Build Coastguard Worker   		}
315*48a54d36SAndroid Build Coastguard Worker 		break;
316*48a54d36SAndroid Build Coastguard Worker 
317*48a54d36SAndroid Build Coastguard Worker 		default:
318*48a54d36SAndroid Build Coastguard Worker   		{
319*48a54d36SAndroid Build Coastguard Worker     		POSITION pos = m_applets.FindIndex( lParam1 );
320*48a54d36SAndroid Build Coastguard Worker 			check( pos );
321*48a54d36SAndroid Build Coastguard Worker 
322*48a54d36SAndroid Build Coastguard Worker 			CCPApplet * applet = m_applets.GetAt( pos );
323*48a54d36SAndroid Build Coastguard Worker 			check( applet );
324*48a54d36SAndroid Build Coastguard Worker 
325*48a54d36SAndroid Build Coastguard Worker     		switch (uMsg)
326*48a54d36SAndroid Build Coastguard Worker     		{
327*48a54d36SAndroid Build Coastguard Worker       			case CPL_INQUIRE:
328*48a54d36SAndroid Build Coastguard Worker       			{
329*48a54d36SAndroid Build Coastguard Worker 					LPCPLINFO pInfo = reinterpret_cast<LPCPLINFO>(lParam2);
330*48a54d36SAndroid Build Coastguard Worker         			lResult = applet->OnInquire(pInfo);
331*48a54d36SAndroid Build Coastguard Worker 				}
332*48a54d36SAndroid Build Coastguard Worker         		break;
333*48a54d36SAndroid Build Coastguard Worker 
334*48a54d36SAndroid Build Coastguard Worker 				case CPL_NEWINQUIRE:
335*48a54d36SAndroid Build Coastguard Worker       			{
336*48a54d36SAndroid Build Coastguard Worker         			LPNEWCPLINFO pInfo = reinterpret_cast<LPNEWCPLINFO>(lParam2);
337*48a54d36SAndroid Build Coastguard Worker 					lResult = applet->OnNewInquire(pInfo);
338*48a54d36SAndroid Build Coastguard Worker 				}
339*48a54d36SAndroid Build Coastguard Worker         		break;
340*48a54d36SAndroid Build Coastguard Worker 
341*48a54d36SAndroid Build Coastguard Worker 				case CPL_STARTWPARMS:
342*48a54d36SAndroid Build Coastguard Worker       			{
343*48a54d36SAndroid Build Coastguard Worker         			CWnd * pParentWnd = CWnd::FromHandle(hWndCPl);
344*48a54d36SAndroid Build Coastguard Worker         			LPCTSTR lpszExtra = reinterpret_cast<LPCTSTR>(lParam2);
345*48a54d36SAndroid Build Coastguard Worker         			lResult = applet->OnStartParms(pParentWnd, lpszExtra);
346*48a54d36SAndroid Build Coastguard Worker 				}
347*48a54d36SAndroid Build Coastguard Worker 				break;
348*48a54d36SAndroid Build Coastguard Worker 
349*48a54d36SAndroid Build Coastguard Worker 				case CPL_DBLCLK:
350*48a54d36SAndroid Build Coastguard Worker 				{
351*48a54d36SAndroid Build Coastguard Worker         			CWnd* pParentWnd = CWnd::FromHandle(hWndCPl);
352*48a54d36SAndroid Build Coastguard Worker         			lResult = applet->OnRun(pParentWnd);
353*48a54d36SAndroid Build Coastguard Worker 				}
354*48a54d36SAndroid Build Coastguard Worker         		break;
355*48a54d36SAndroid Build Coastguard Worker 
356*48a54d36SAndroid Build Coastguard Worker 				case CPL_SELECT:
357*48a54d36SAndroid Build Coastguard Worker 				{
358*48a54d36SAndroid Build Coastguard Worker         			lResult = applet->OnSelect();
359*48a54d36SAndroid Build Coastguard Worker 				}
360*48a54d36SAndroid Build Coastguard Worker 				break;
361*48a54d36SAndroid Build Coastguard Worker 
362*48a54d36SAndroid Build Coastguard Worker 				case CPL_STOP:
363*48a54d36SAndroid Build Coastguard Worker 				{
364*48a54d36SAndroid Build Coastguard Worker 					lResult = applet->OnStop();
365*48a54d36SAndroid Build Coastguard Worker 				}
366*48a54d36SAndroid Build Coastguard Worker 				break;
367*48a54d36SAndroid Build Coastguard Worker 
368*48a54d36SAndroid Build Coastguard Worker 				default:
369*48a54d36SAndroid Build Coastguard Worker 				{
370*48a54d36SAndroid Build Coastguard Worker 					// TRACE(_T("Warning, Received an unknown control panel message:%d\n"), uMsg);
371*48a54d36SAndroid Build Coastguard Worker 					lResult = 1;
372*48a54d36SAndroid Build Coastguard Worker 				}
373*48a54d36SAndroid Build Coastguard Worker 				break;
374*48a54d36SAndroid Build Coastguard Worker     		}
375*48a54d36SAndroid Build Coastguard Worker   		}
376*48a54d36SAndroid Build Coastguard Worker 		break;
377*48a54d36SAndroid Build Coastguard Worker 	}
378*48a54d36SAndroid Build Coastguard Worker 
379*48a54d36SAndroid Build Coastguard Worker 	return lResult;
380*48a54d36SAndroid Build Coastguard Worker }
381