Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: serverui.h
//
//--------------------------------------------------------------------------
#ifndef _SERVERUI_H
#define _SERVERUI_H
#include "uiutil.h"
#include "ipeditor.h"
#include "nspage.h"
#include "aclpage.h"
///////////////////////////////////////////////////////////////////////////////
// FORWARD DECLARATIONS
class CDNSServerNode;
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_InterfacesPropertyPage
class CDNSServer_InterfacesPropertyPage : public CPropertyPageBase {
// Construction
public: CDNSServer_InterfacesPropertyPage();
// Implementation
protected:
// Generated message map functions
virtual BOOL OnInitDialog(); virtual BOOL OnApply();
afx_msg void OnListenOnSpecifiedAddresses(); afx_msg void OnListenOnAllAddresses();
private: class CListenAddressesIPEditor : public CIPEditor { public: CListenAddressesIPEditor() : CIPEditor(TRUE) {} virtual void OnChangeData(); }; CListenAddressesIPEditor m_listenAddressesEditor;
CButton* GetListenOnAllRadio() { return (CButton*)GetDlgItem(IDC_LISTEN_ON_ALL_RADIO);} CButton* GetListenOnSpecifiedRadio() { return (CButton*)GetDlgItem(IDC_LISTEN_ON_SPECIFIED_RADIO);}
void SelectionHelper(BOOL bListenAll); friend class CListenAddressesIPEditor;
BOOL m_bAllWasPreviousSelection;
DECLARE_MESSAGE_MAP() };
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_ForwardersPropertyPage
class CDNSServer_ForwardersPropertyPage : public CPropertyPageBase {
// Construction
public: CDNSServer_ForwardersPropertyPage();
// Implementation
protected: afx_msg void OnForwardersCheck(); afx_msg void OnSlaveCheckChange(); afx_msg void OnForwarderTimeoutChange();
virtual BOOL OnInitDialog(); virtual BOOL OnApply(); virtual BOOL OnKillActive();
private: void EnableForwardersUI(BOOL bUseForwaders); CButton* GetForwardersCheck() { return (CButton*)GetDlgItem(IDC_USE_FORWARDERS_CHECK);} CButton* GetSlaveCheck() { return (CButton*)GetDlgItem(IDC_SLAVE_CHECK);} CStatic* GetForwardersStatic() { return (CStatic*)GetDlgItem(IDC_STATIC_ADD_FORWARDERS);}
CDNSUnsignedIntEdit m_forwardTimeoutEdit;
class CForwarderAddressesIPEditor : public CIPEditor { public: virtual void OnChangeData(); }; CForwarderAddressesIPEditor m_forwarderAddressesEditor; friend class CForwarderAddressesIPEditor;
DECLARE_MESSAGE_MAP() };
///////////////////////////////////////////////////////////////////////////////
// CAllOthersDomainInfo
class CAllOthersDomainInfo { public: CAllOthersDomainInfo(DWORD cAddrCount, PIP_ADDRESS pipAddrs, DWORD dwForwardTimeout, DWORD fSlave) { m_cAddrCount = cAddrCount; m_pipAddrs = pipAddrs; m_dwForwardTimeout = dwForwardTimeout; m_fSlave = fSlave; }
DWORD m_cAddrCount; PIP_ADDRESS m_pipAddrs; DWORD m_dwForwardTimeout; DWORD m_fSlave; };
///////////////////////////////////////////////////////////////////////////////
// CDomainForwardersEditInfo
class CDomainForwardersEditInfo { public: CDomainForwardersEditInfo(CDNSZoneNode* pZoneNode, BOOL bADIntegrated, BOOL bAllOthers = FALSE); ~CDomainForwardersEditInfo();
typedef enum { nochange = 0, update, add, remove } ACTION_ITEM;
void SetAllOthersDomain(CAllOthersDomainInfo* pAllOthers); BOOL IsAllOthers() { return m_bAllOthersDomain; }
void SetAction(ACTION_ITEM action); ACTION_ITEM GetAction() { return m_actionItem; }
void SetSlave(BOOL bSlave) { m_bSlave = bSlave; } BOOL IsSlave() { return m_bSlave; }
void SetTimeout(DWORD dwTimeout) { m_dwTimeout = dwTimeout; } DWORD GetTimeout() { return m_dwTimeout; }
BOOL IsADIntegrated() { return m_bADIntegrated; }
void SetIPList(DWORD dwCount, PIP_ADDRESS pipArray) { m_cAddrCount = dwCount; m_pIPList = pipArray; } PIP_ADDRESS GetIPList(DWORD* pdwCount) { *pdwCount = m_cAddrCount; return m_pIPList; }
void SetDomainName(PCWSTR pszDomainName) { m_szDomainName = pszDomainName; } void GetDomainName(CString& szDomainName) { szDomainName = m_szDomainName; }
void SetDataFromRPC(BOOL bRPCData) { m_bRPCData = bRPCData; } BOOL IsDataFromRPC() { return m_bRPCData; }
BOOL Update(BOOL bSlave, DWORD dwTimeout, DWORD dwCount, PIP_ADDRESS pipArray);
CDNSZoneNode* GetZoneNode() { return m_pZoneNode; }
private: BOOL m_bADIntegrated; BOOL m_bAllOthersDomain; ACTION_ITEM m_actionItem;
CDNSZoneNode* m_pZoneNode; CAllOthersDomainInfo* m_pAllOthers;
BOOL m_bRPCData; CString m_szDomainName; BOOL m_bSlave; DWORD m_dwTimeout; DWORD m_cAddrCount; PIP_ADDRESS m_pIPList; };
///////////////////////////////////////////////////////////////////////////////
// CDomainForwardersEditList
class CDomainForwardersEditList : public CList<CDomainForwardersEditInfo*, CDomainForwardersEditInfo*> { public: ~CDomainForwardersEditList() { DeleteAll(); }
void DeleteAll() { while (!IsEmpty()) { delete RemoveTail(); } }
void Remove(CDomainForwardersEditInfo* pInfo) { POSITION pos = GetHeadPosition(); while (pos != NULL) { CDomainForwardersEditInfo* pListInfo = reinterpret_cast<CDomainForwardersEditInfo*>(GetAt(pos)); if (pListInfo == pInfo) { RemoveAt(pos); break; } GetNext(pos); } }
CDomainForwardersEditInfo* DoesExist(PCWSTR pszDomainName) { POSITION pos = GetHeadPosition(); while (pos != NULL) { CDomainForwardersEditInfo* pListInfo = reinterpret_cast<CDomainForwardersEditInfo*>(GetNext(pos)); if (pListInfo != NULL) { CString szName; pListInfo->GetDomainName(szName); if (szName == pszDomainName) { return pListInfo; } } } return NULL; }
};
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_DomainForwardersPropertyPage
class CDNSServer_DomainForwardersPropertyPage : public CPropertyPageBase {
// Construction
public: CDNSServer_DomainForwardersPropertyPage();
// Implementation
protected: afx_msg void OnDomainSelChange(); afx_msg void OnAddDomain(); afx_msg void OnRemoveDomain(); afx_msg void OnSlaveCheckChange(); afx_msg void OnForwarderTimeoutChange();
virtual BOOL OnInitDialog(); virtual BOOL OnApply(); virtual BOOL OnSetActive();
private: CButton* GetSlaveCheck() { return (CButton*)GetDlgItem(IDC_SLAVE_CHECK);} CStatic* GetForwardersStatic() { return (CStatic*)GetDlgItem(IDC_STATIC_ADD_FORWARDERS);}
CDNSUnsignedIntEdit m_forwardTimeoutEdit;
class CForwarderAddressesIPEditor : public CIPEditor { public: virtual void OnChangeData(); }; CForwarderAddressesIPEditor m_forwarderAddressesEditor; friend class CForwarderAddressesIPEditor;
DECLARE_MESSAGE_MAP()
private: CDomainForwardersEditList m_EditList; CDomainForwardersEditInfo* m_pCurrentInfo;
BOOL m_bPostApply; };
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_AdvancedPropertyPage
class CDNSServer_AdvancedPropertyPage : public CPropertyPageBase {
// Construction
public: CDNSServer_AdvancedPropertyPage();
virtual void SetDirty(BOOL bDirty) { CPropertyPageBase::SetDirty(bDirty); }
// Implementation
protected: afx_msg void OnAdvancedOptionsListChange() { SetDirty(TRUE);} afx_msg void OnComboSelChange() { SetDirty(TRUE);} afx_msg void OnResetButton(); afx_msg void OnEnableScavenging();
// Overrides
protected:
// Implementation
protected: virtual void SetUIData(); // Generated message map functions
virtual BOOL OnInitDialog(); virtual BOOL OnApply();
private: CArrayCheckListBox m_advancedOptionsListBox;
// set/get helpers
void SetAdvancedOptionsListbox(BOOL* bRegKeyOptionsArr); void GetAdvancedOptionsListbox(BOOL* RegKeyOptionsArr); void SetBootMethodComboVal(UCHAR fBootMethod); UCHAR GetBootMethodComboVal(); void SetNameCheckingComboVal(DWORD dwNameChecking); DWORD GetNameCheckingComboVal();
CComboBox* GetNameCheckingCombo() { return (CComboBox*)GetDlgItem(IDC_NAME_CHECKING_COMBO);} CComboBox* GetBootMethodCombo() { return (CComboBox*)GetDlgItem(IDC_BOOT_METHOD_COMBO);}
DECLARE_MESSAGE_MAP()
CDNS_SERVER_AGING_TimeIntervalEditGroup m_scavengingIntervalEditGroup; };
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_DebugLoggingPropertyPage
class CDNSServer_DebugLoggingPropertyPage : public CPropertyPageBase { // Construction
public: CDNSServer_DebugLoggingPropertyPage(); ~CDNSServer_DebugLoggingPropertyPage();
// Implementation
protected:
// Overrides
protected: afx_msg void OnLoggingCheck(); afx_msg void OnSendCheck(); afx_msg void OnReceiveCheck(); afx_msg void OnQueriesCheck(); afx_msg void OnNotifiesCheck(); afx_msg void OnUpdatesCheck(); afx_msg void OnRequestCheck(); afx_msg void OnResponseCheck(); afx_msg void OnUDPCheck(); afx_msg void OnTCPCheck(); afx_msg void OnDetailCheck(); afx_msg void OnFilterCheck(); afx_msg void OnFilterButton(); afx_msg void OnLogFileChange(); afx_msg void OnMaxSizeChange();
// Implementation
protected: void EnableLogging(BOOL bLogging = TRUE); void ResetToDefaults(); void SetUIFromOptions(DWORD dwOptions);
void SetOptionsDirty(BOOL bDirty = TRUE); BOOL AreOptionsDirty();
virtual void SetUIData(); virtual void GetUIData(BOOL bSilent = TRUE); // Generated message map functions
virtual BOOL OnInitDialog(); virtual BOOL OnApply();
private: DWORD m_dwLogLevel; DWORD m_dwMaxSize; CString m_szLogFileName; PIP_ARRAY m_pIPFilterList;
BOOL m_bOnSetUIData;
BOOL m_bMaxSizeDirty; BOOL m_bLogFileDirty; BOOL m_bFilterDirty; BOOL m_bOwnIPListMemory;
BOOL m_bNotWhistler; BOOL m_bOptionsDirty;
DECLARE_MESSAGE_MAP() };
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_EventLoggingPropertyPage
class CDNSServer_EventLoggingPropertyPage : public CPropertyPageBase { // Construction
public: CDNSServer_EventLoggingPropertyPage();
// Implementation
protected: afx_msg void OnSetDirty();
// Overrides
protected:
// Implementation
protected: virtual void SetUIData(); // Generated message map functions
virtual BOOL OnInitDialog(); virtual BOOL OnApply();
private: DWORD m_dwEventLogLevel; DECLARE_MESSAGE_MAP() };
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_CopyRootHintsFromDialog
class CDNSServer_CopyRootHintsFromDialog : public CHelpDialog { public: CDNSServer_CopyRootHintsFromDialog(CComponentDataObject* pComponentData);
virtual void OnOK(); afx_msg void OnIPv4CtrlChange();
DWORD m_dwIPVal; protected: CDNSIPv4Control* GetIPv4Ctrl() { return (CDNSIPv4Control*)GetDlgItem(IDC_IPEDIT);}
CComponentDataObject* m_pComponentData; DECLARE_MESSAGE_MAP() };
///////////////////////////////////////////////////////////////////////////////
// CDNSServer_RootHintsPropertyPage
class CDNSServer_RootHintsPropertyPage : public CDNSNameServersPropertyPage { public: CDNSServer_RootHintsPropertyPage();
virtual BOOL OnInitDialog(); virtual BOOL OnApply();
afx_msg void OnCopyFrom();
protected: virtual void ReadRecordNodesList(); virtual BOOL WriteNSRecordNodesList(); void AddCopiedRootHintsToList(PDNS_RECORD pRootHintsRecordList);
DECLARE_MESSAGE_MAP() };
#include "servmon.h"
///////////////////////////////////////////////////////////////////////////////
// CDNSServerPropertyPageHolder
// page holder to contain DNS Server property pages
class CDNSServerPropertyPageHolder : public CPropertyPageHolderBase { public: CDNSServerPropertyPageHolder(CDNSRootData* pRootDataNode, CDNSServerNode* pServerNode, CComponentDataObject* pComponentData); ~CDNSServerPropertyPageHolder();
CDNSServerNode* GetServerNode() { return (CDNSServerNode*)GetTreeNode();}
protected: virtual void OnSheetMessage(WPARAM wParam, LPARAM lParam); virtual HRESULT OnAddPage(int nPage, CPropertyPageBase* pPage); virtual int OnSelectPageMessage(long nPageCode) { return nPageCode;}
private: CDNSServer_InterfacesPropertyPage m_interfacesPage; CDNSServer_DomainForwardersPropertyPage m_newForwardersPage; CDNSServer_AdvancedPropertyPage m_advancedPage; CDNSServer_RootHintsPropertyPage m_rootHintsPage;
CDNSServer_TestPropertyPage m_testPage; CDNSServer_DebugLoggingPropertyPage m_debugLoggingPage; CDNSServer_EventLoggingPropertyPage m_eventLoggingPage;
// optional security page
CAclEditorPage* m_pAclEditorPage; };
#endif // _SERVERUI_H
|