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 - 1998
//
// File: zonewiz.h
//
//--------------------------------------------------------------------------
#ifndef _ZONEWIZ_H
#define _ZONEWIZ_H
#include "ipeditor.h"
///////////////////////////////////////////////////////////////////////////////
// FORWARD DECLARATIONS
class CDNSServerNode; class CDNSZoneNode;
class CDNSZoneWiz_StartPropertyPage; class CDNSZoneWiz_SelectServerPropertyPage; class CDNSZoneWiz_ZoneTypePropertyPage; class CDNSZoneWiz_ZoneLookupPropertyPage; class CDNSZoneWiz_ZoneNamePropertyPageBase; class CDNSZoneWiz_FwdZoneNamePropertyPage; class CDNSZoneWiz_DynamicPropertyPage; class CDNSZoneWiz_RevZoneNamePropertyPage; class CDNSZoneWiz_MastersPropertyPage; class CDNSZoneWiz_StoragePropertyPage; #ifdef USE_NDNC
class CDNSZoneWiz_ADReplicationPropertyPage; #endif // USE_NDNC
class CDNSZoneWiz_FinishPropertyPage;
///////////////////////////////////////////////////////////////////////////////
// CDNSCreateZoneInfo
// information gathered by the Zone Wizard
class CDNSCreateZoneInfo { public: CDNSCreateZoneInfo(); ~CDNSCreateZoneInfo();
void ResetIpArr(); void SetIpArr(PIP_ADDRESS ipMastersArray, DWORD nMastersCount); const CDNSCreateZoneInfo& operator=(const CDNSCreateZoneInfo& info);
typedef enum { newFile = 0 , importFile, useADS} storageType;
BOOL m_bPrimary; BOOL m_bForward; BOOL m_bIsStub; CString m_szZoneName; CString m_szZoneStorage; storageType m_storageType; #ifdef USE_NDNC
ReplicationType m_replType; CString m_szCustomReplName; #endif // USE_NDNC
PIP_ADDRESS m_ipMastersArray; DWORD m_nMastersCount; BOOL m_bLocalListOfMasters; UINT m_nDynamicUpdate;
// UI session specific info (not used for actual creation)
BOOL m_bWasForward; };
///////////////////////////////////////////////////////////////////////////////
// CDNSZoneWizardHolder
// page holder to contain DNS zone wizard property pages
class CDNSZoneWizardHolder : public CPropertyPageHolderBase { public: CDNSZoneWizardHolder(CComponentDataObject* pComponentData);
// simple cast helpers
CDNSServerNode* GetServerNode() { return (CDNSServerNode*)GetContainerNode();} void SetServerNode(CDNSServerNode* pServerNode) { SetContainerNode((CDNSServerNode*) pServerNode);}
void SetZoneNode(CDNSZoneNode* pZoneNode) { SetTreeNode((CTreeNode*)pZoneNode); } CDNSZoneNode* GetZoneNode() { return (CDNSZoneNode*)GetTreeNode();}
void Initialize(CDNSServerNode* pServerNode, // might be null,
BOOL bServerPage = FALSE, BOOL bFinishPage = TRUE);
void PreSetZoneLookupType(BOOL bForward); void PreSetZoneLookupTypeEx(BOOL bForward, UINT nZoneType, BOOL bADIntegrated); void SetContextPages(UINT nNextToPage, UINT nBackToPage); UINT GetFirstEntryPointPageID(); UINT GetLastEntryPointPageID();
CDNSCreateZoneInfo* GetZoneInfoPtr() { return m_pZoneInfo;} void SetZoneInfoPtr(CDNSCreateZoneInfo* pZoneInfo) { m_pZoneInfo = (pZoneInfo != NULL) ? pZoneInfo : NULL; }
static DNS_STATUS CDNSZoneWizardHolder::CreateZoneHelper(CDNSServerNode* pServerNode, CDNSCreateZoneInfo* pZoneInfo, CComponentDataObject* pComponentData);
private: // data for zone creation
CDNSCreateZoneInfo m_zoneInfo; CDNSCreateZoneInfo* m_pZoneInfo;
BOOL CreateZone();
// cached pointers to property pages
CDNSZoneWiz_StartPropertyPage* m_pStartPage; CDNSZoneWiz_SelectServerPropertyPage* m_pTargetServerPage; CDNSZoneWiz_ZoneTypePropertyPage* m_pReplicationTypePage; CDNSZoneWiz_ZoneLookupPropertyPage* m_pZoneLookupPage; CDNSZoneWiz_FwdZoneNamePropertyPage* m_pFwdZoneNamePage; CDNSZoneWiz_DynamicPropertyPage* m_pDynamicPage; CDNSZoneWiz_RevZoneNamePropertyPage* m_pRevZoneNamePage; CDNSZoneWiz_MastersPropertyPage* m_pMastersPage; CDNSZoneWiz_StoragePropertyPage* m_pStoragePage; #ifdef USE_NDNC
CDNSZoneWiz_ADReplicationPropertyPage* m_pADReplPage; #endif // USE_NDNC
CDNSZoneWiz_FinishPropertyPage* m_pFinishPage;
BOOL m_bKnowZoneLookupType; // already know Fwd/Rev type
BOOL m_bKnowZoneLookupTypeEx; // already know Fwd/Rev, AD-integrated, and zone type
BOOL m_bServerPage; BOOL m_bFinishPage; UINT m_nNextToPage; UINT m_nBackToPage;
// helper functions
// to access data in the holder
friend class CDNSZoneWiz_StartPropertyPage; friend class CDNSZoneWiz_SelectServerPropertyPage; friend class CDNSZoneWiz_ZoneTypePropertyPage; friend class CDNSZoneWiz_ZoneLookupPropertyPage; friend class CDNSZoneWiz_ZoneNamePropertyPageBase; friend class CDNSZoneWiz_FwdZoneNamePropertyPage; friend class CDNSZoneWiz_DynamicPropertyPage; friend class CDNSZoneWiz_RevZoneNamePropertyPage; friend class CDNSZoneWiz_MastersPropertyPage; friend class CDNSZoneWiz_StoragePropertyPage; #ifdef USE_NDNC
friend class CDNSZoneWiz_ADReplicationPropertyPage; #endif USE_NDNC
friend class CDNSZoneWiz_FinishPropertyPage;
};
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_StartPropertyPage
class CDNSZoneWiz_StartPropertyPage : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_StartPropertyPage();
// Overrides
public: virtual BOOL OnSetActive();
protected: virtual BOOL OnInitDialog();
public: // Dialog Data
enum { IDD = IDD_ZWIZ_START };
};
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_SelectServerPropertyPage
class CDNSZoneWiz_SelectServerPropertyPage : public CPropertyPageBase {
// Construction
public: CDNSZoneWiz_SelectServerPropertyPage();
// Dialog Data
enum { IDD = IDD_ZWIZ_SELECT_SERVER };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual BOOL OnKillActive(); protected:
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog();
afx_msg void OnListboxSelChange(); // message handler
DECLARE_MESSAGE_MAP() private: CListBox* GetServerListBox() { return (CListBox*)GetDlgItem(IDC_SERVERS_LIST);} };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_ZoneTypePropertyPage
class CDNSZoneWiz_ZoneTypePropertyPage : public CPropertyPageBase {
// Construction
public: CDNSZoneWiz_ZoneTypePropertyPage();
// Dialog Data
enum { IDD = IDD_ZWIZ_ZONE_TYPE };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual LRESULT OnWizardBack(); virtual BOOL OnKillActive(); protected:
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog(); afx_msg void OnRadioChange();
DECLARE_MESSAGE_MAP()
private: void SetUIState(); void GetUIState(); };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_ZoneLookupPropertyPage
class CDNSZoneWiz_ZoneLookupPropertyPage : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_ZoneLookupPropertyPage();
// Dialog Data
enum { IDD = IDD_ZWIZ_ZONE_LOOKUP };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual LRESULT OnWizardBack();
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog(); afx_msg void OnChangeEditZoneName();
private: };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_ZoneNamePropertyPageBase
class CDNSZoneWiz_ZoneNamePropertyPageBase : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_ZoneNamePropertyPageBase(UINT nIDD);
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual LRESULT OnWizardBack(); protected:
// Implementation
protected: // Generated message map functions
afx_msg void OnBrowse(); afx_msg void OnChangeEditZoneName();
DECLARE_MESSAGE_MAP() protected: CButton* GetBrowseButton() { return (CButton*)GetDlgItem(IDC_BROWSE_BUTTON);} CEdit* GetZoneNameEdit() { return (CEdit*)GetDlgItem(IDC_EDIT_ZONE_NAME);} void SetUIState(); void GetUIState(); };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_FwdZoneNamePropertyPage
class CDNSZoneWiz_FwdZoneNamePropertyPage : public CDNSZoneWiz_ZoneNamePropertyPageBase { // Construction
public: CDNSZoneWiz_FwdZoneNamePropertyPage();
// Dialog Data
enum { IDD = IDD_ZWIZ_FWD_ZONE_NAME }; };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_RevZoneNamePropertyPage
class CDNSZoneWiz_RevZoneNamePropertyPage : public CDNSZoneWiz_ZoneNamePropertyPageBase { // Construction
public: CDNSZoneWiz_RevZoneNamePropertyPage();
// Dialog Data
enum { IDD = IDD_ZWIZ_REV_ZONE_NAME };
// Overrides
public: virtual BOOL OnSetActive();
protected:
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog(); afx_msg void OnChangeSubnetIPv4Ctrl(); // afx_msg void OnChangeMaskIPv4Ctrl();
afx_msg void OnChangeUseIPRadio(); afx_msg void OnChangeUseEditRadio(); afx_msg void OnHelpButton();
DECLARE_MESSAGE_MAP() private:
BOOL m_bUseIP; // flags to tell wich entry method we use
CButton* GetUseIPRadio() { return (CButton*)GetDlgItem(IDC_USE_IP_RADIO);} CButton* GetUseEditRadio() { return (CButton*)GetDlgItem(IDC_USE_EDIT_RADIO);} CDNSIPv4Control* GetSubnetIPv4Ctrl() { return (CDNSIPv4Control*)GetDlgItem(IDC_SUBNET_IPEDIT);} /* CDNSIPv4Control* GetMaskIPv4Ctrl()
{ return (CDNSIPv4Control*)GetDlgItem(IDC_MASK_IPEDIT);} */ void SyncRadioButtons(BOOL bPrevUseIP); void ResetIPEditAndNameValue(); BOOL BuildZoneName(DWORD* dwSubnetArr /*, DWORD* dwMaskArr*/); };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_MastersPropertyPage
class CZoneWiz_MastersIPEditor : public CIPEditor { public: virtual void OnChangeData(); };
class CDNSZoneWiz_MastersPropertyPage : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_MastersPropertyPage();
// Dialog Data
enum { IDD = IDD_ZWIZ_MASTERS };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual LRESULT OnWizardBack();
protected:
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog(); afx_msg void OnBrowse();
DECLARE_MESSAGE_MAP() private: CZoneWiz_MastersIPEditor m_editor;
void SetValidIPArray(BOOL b);
BOOL m_bValidIPArray;
void SetUIState(); void GetUIState();
friend class CZoneWiz_MastersIPEditor; };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_DynamicPropertyPage
class CDNSZoneWiz_DynamicPropertyPage : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_DynamicPropertyPage(); ~CDNSZoneWiz_DynamicPropertyPage() { }
// Dialog Data
enum { IDD = IDD_ZWIZ_DYNAMIC_UPDATE };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual LRESULT OnWizardBack();
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
private: void SetUIState(); void GetUIState(); };
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_StoragePropertyPage
class CDNSZoneWiz_StoragePropertyPage : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_StoragePropertyPage(); ~CDNSZoneWiz_StoragePropertyPage() { }
// Dialog Data
enum { IDD = IDD_ZWIZ_STORAGE };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual LRESULT OnWizardBack(); virtual BOOL OnKillActive();
protected:
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog(); afx_msg void OnChangeNewFileZoneName(); afx_msg void OnChangeImportFileZoneName(); afx_msg void OnChangeRadioCreateNewFile(); afx_msg void OnChangeRadioImportFile();
DECLARE_MESSAGE_MAP() private: UINT m_nCurrRadio; BOOL ValidateEditBoxString(UINT nID); void SyncRadioButtons(UINT nID); void SetUIState(); void GetUIState();
};
#ifdef USE_NDNC
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_ADReplicationPropertyPage
class CDNSZoneWiz_ADReplicationPropertyPage : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_ADReplicationPropertyPage(); ~CDNSZoneWiz_ADReplicationPropertyPage() { }
// Dialog Data
enum { IDD = IDD_ZWIZ_AD_REPLICATION };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardNext(); virtual LRESULT OnWizardBack(); virtual BOOL OnKillActive();
protected:
// Implementation
protected: // Generated message map functions
virtual BOOL OnInitDialog();
afx_msg void OnRadioChange(); afx_msg void OnCustomComboSelChange();
DECLARE_MESSAGE_MAP() private: void SyncRadioButtons(); void SetUIState(); void GetUIState(); }; #endif // USE_NDNC
//////////////////////////////////////////////////////////////////////////
// CDNSZoneWiz_FinishPropertyPage
class CDNSZoneWiz_FinishPropertyPage : public CPropertyPageBase { // Construction
public: CDNSZoneWiz_FinishPropertyPage();
// Dialog Data
enum { IDD = IDD_ZWIZ_FINISH };
// Overrides
public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardBack(); virtual BOOL OnWizardFinish();
protected: virtual BOOL OnInitDialog();
private: CDNSManageControlTextHelper m_typeText; CDNSToggleTextControlHelper m_lookupText;
void DisplaySummaryInfo(); };
#endif // _ZONEWIZ_H
|