1/* -*- Mode: C; tab-width: 4 -*- 2 * 3 * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18#include "stdafx.h" 19 20#include "DNSServices.h" 21 22#include "BrowserDialog.h" 23 24#include "Application.h" 25 26#ifdef _DEBUG 27#define new DEBUG_NEW 28#undef THIS_FILE 29static char THIS_FILE[] = __FILE__; 30#endif 31 32//=========================================================================================================================== 33// Message Map 34//=========================================================================================================================== 35 36BEGIN_MESSAGE_MAP(Application, CWinApp) 37 //{{AFX_MSG_MAP(Application) 38 // NOTE - the ClassWizard will add and remove mapping macros here. 39 // DO NOT EDIT what you see in these blocks of generated code! 40 //}}AFX_MSG_MAP 41END_MESSAGE_MAP() 42 43//=========================================================================================================================== 44// Globals 45//=========================================================================================================================== 46 47Application gApp; 48 49//=========================================================================================================================== 50// Application 51//=========================================================================================================================== 52 53Application::Application() 54 : CWinApp() 55{ 56 // 57} 58 59//=========================================================================================================================== 60// InitInstance 61//=========================================================================================================================== 62 63BOOL Application::InitInstance() 64{ 65 DNSStatus err; 66 BrowserDialog dialog; 67 BOOL dnsInitialized; 68 69 dnsInitialized = FALSE; 70 71 err = DNSServicesInitialize( kDNSFlagAdvertise, 0 ); 72 if( err ) 73 { 74 AfxMessageBox( IDP_SOCKETS_INIT_FAILED ); 75 goto exit; 76 } 77 dnsInitialized = TRUE; 78 79 // Display the main browser dialog. 80 81 m_pMainWnd = &dialog; 82 dialog.DoModal(); 83 84 // Dialog has been closed. Return false to exit the app and not start the app's message pump. 85 86exit: 87 if( dnsInitialized ) 88 { 89 DNSServicesFinalize(); 90 } 91 return( FALSE ); 92} 93