diff options
Diffstat (limited to 'mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h')
-rw-r--r-- | mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h b/mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h new file mode 100644 index 00000000..41fd8275 --- /dev/null +++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.h @@ -0,0 +1,131 @@ +/* -*- Mode: C; tab-width: 4 -*- + * + * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if !defined(AFX_CHOOSERDIALOG_H__AC258704_B307_4901_9F98_A0AC022FD8AC__INCLUDED_) +#define AFX_CHOOSERDIALOG_H__AC258704_B307_4901_9F98_A0AC022FD8AC__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include <string> +#include <vector> + +#include "afxcmn.h" + +#include "Resource.h" + +#include "DNSServices.h" + +//=========================================================================================================================== +// Structures +//=========================================================================================================================== + +struct ServiceInstanceInfo +{ + std::string name; + std::string type; + std::string domain; + std::string ip; + std::string text; + std::string ifIP; + std::string hostName; +}; + +struct ServiceTypeInfo +{ + std::string serviceType; + std::string description; + std::string urlScheme; +}; + +//=========================================================================================================================== +// ChooserDialog +//=========================================================================================================================== + +class ChooserDialog : public CDialog +{ + public: + + ChooserDialog(CWnd* pParent = NULL); + virtual ~ChooserDialog( void ); + + //{{AFX_DATA(ChooserDialog) + enum { IDD = IDD_CHOOSER_DIALOG }; + CListCtrl mServiceList; + CListCtrl mDomainList; + CListCtrl mChooserList; + //}}AFX_DATA + + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(ChooserDialog) + public: + virtual BOOL PreTranslateMessage(MSG* pMsg); + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + virtual void PostNcDestroy(); + //}}AFX_VIRTUAL + + protected: + + typedef std::vector < ServiceInstanceInfo > ServiceInstanceVector; + typedef std::vector < ServiceTypeInfo > ServiceTypeVector; + + HACCEL mMenuAcceleratorTable; + DNSBrowserRef mBrowser; + BOOL mIsServiceBrowsing; + ServiceInstanceVector mServiceInstances; + ServiceTypeVector mServiceTypes; + + public: + + void PopulateServicesList( void ); + void UpdateInfoDisplay( void ); + + void StartBrowsing( const char *inType, const char *inDomain ); + void StopBrowsing( void ); + + protected: + + //{{AFX_MSG(ChooserDialog) + virtual BOOL OnInitDialog(); + afx_msg void OnSysCommand(UINT nID, LPARAM lParam); + afx_msg void OnDomainListChanged(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnServiceListChanged(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnChooserListChanged(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnChooserListDoubleClick(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnAbout(); + afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu); + afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); + afx_msg void OnFileClose(); + virtual void OnCancel(); + afx_msg void OnExit(); + afx_msg void OnClose(); + afx_msg void OnNcDestroy(); + //}}AFX_MSG + afx_msg LONG OnDomainAdd( WPARAM inWParam, LPARAM inLParam ); + afx_msg LONG OnDomainRemove( WPARAM inWParam, LPARAM inLParam ); + afx_msg LONG OnServiceAdd( WPARAM inWParam, LPARAM inLParam ); + afx_msg LONG OnServiceRemove( WPARAM inWParam, LPARAM inLParam ); + afx_msg LONG OnResolve( WPARAM inWParam, LPARAM inLParam ); + DECLARE_MESSAGE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_CHOOSERDIALOG_H__AC258704_B307_4901_9F98_A0AC022FD8AC__INCLUDED_) |