windows-nt/Source/XPSP1/NT/net/mmc/dhcp/mscopwiz.h
2020-09-26 16:20:57 +08:00

474 lines
11 KiB
C++

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
/**********************************************************************/
/*
mscopewiz.h
DHCP multicast scope creation dialog
FILE HISTORY:
*/
#if !defined _MSCOPWIZ_H
#define _MSCOPWIZ_H
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
/////////////////////////////////////////////////////////////////////////////
//
// CMScopeWizName dialog
//
/////////////////////////////////////////////////////////////////////////////
class CMScopeWizName : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizName)
// Construction
public:
CMScopeWizName();
~CMScopeWizName();
// Dialog Data
//{{AFX_DATA(CMScopeWizName)
enum { IDD = IDW_MSCOPE_NAME };
CEdit m_editScopeName;
CEdit m_editScopeComment;
CString m_strName;
CString m_strComment;
//}}AFX_DATA
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizName)
public:
virtual LRESULT OnWizardNext();
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
public:
void UpdateButtons();
protected:
// Generated message map functions
//{{AFX_MSG(CMScopeWizName)
virtual BOOL OnInitDialog();
afx_msg void OnChangeEditScopeName();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//
// CMScopeWizInvalidName dialog
//
/////////////////////////////////////////////////////////////////////////////
class CMScopeWizInvalidName : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizInvalidName)
// Construction
public:
CMScopeWizInvalidName();
~CMScopeWizInvalidName();
// Dialog Data
//{{AFX_DATA(CMScopeWizInvalidName)
enum { IDD = IDW_MSCOPE_INVALID_NAME };
// NOTE - ClassWizard will add data members here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_DATA
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizInvalidName)
public:
virtual LRESULT OnWizardBack();
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CMScopeWizInvalidName)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//
// CMScopeWizSetRange dialog
//
/////////////////////////////////////////////////////////////////////////////
class CMScopeWizSetRange : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizSetRange)
// Construction
public:
CMScopeWizSetRange();
~CMScopeWizSetRange();
// Dialog Data
//{{AFX_DATA(CMScopeWizSetRange)
enum { IDD = IDW_MSCOPE_SET_SCOPE };
CSpinButtonCtrl m_spinTTL;
CEdit m_editTTL;
//}}AFX_DATA
CWndIpAddress m_ipaStart; // Start Address
CWndIpAddress m_ipaEnd; // End Address
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizSetRange)
public:
virtual LRESULT OnWizardNext();
virtual LRESULT OnWizardBack();
virtual BOOL OnSetActive();
virtual BOOL OnKillActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
public:
BOOL GetScopeRange(CDhcpIpRange * pdhcpIpRange);
BYTE GetTTL();
protected:
BOOL m_fPageActive;
// Generated message map functions
//{{AFX_MSG(CMScopeWizSetRange)
virtual BOOL OnInitDialog();
afx_msg void OnKillfocusPoolStart();
afx_msg void OnKillfocusPoolStop();
afx_msg void OnChangeEditMaskLength();
afx_msg void OnKillfocusSubnetMask();
afx_msg void OnChangePoolStart();
afx_msg void OnChangePoolStop();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void UpdateButtons();
};
/////////////////////////////////////////////////////////////////////////////
//
// CMScopeWizSetExclusions dialog
//
/////////////////////////////////////////////////////////////////////////////
class CMScopeWizSetExclusions : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizSetExclusions)
// Construction
public:
CMScopeWizSetExclusions();
~CMScopeWizSetExclusions();
// Dialog Data
//{{AFX_DATA(CMScopeWizSetExclusions)
enum { IDD = IDW_MSCOPE_SET_EXCLUSIONS };
CListBox m_listboxExclusions;
CButton m_buttonExclusionDelete;
CButton m_buttonExclusionAdd;
//}}AFX_DATA
CWndIpAddress m_ipaStart; // Start Address
CWndIpAddress m_ipaEnd; // End Address
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizSetExclusions)
public:
virtual LRESULT OnWizardNext();
virtual LRESULT OnWizardBack();
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
public:
CExclusionList * GetExclusionList() { return &m_listExclusions; }
protected:
// Generated message map functions
//{{AFX_MSG(CMScopeWizSetExclusions)
virtual BOOL OnInitDialog();
afx_msg void OnButtonExclusionAdd();
afx_msg void OnButtonExclusionDelete();
//}}AFX_MSG
afx_msg void OnChangeExclusionStart();
afx_msg void OnChangeExclusionEnd();
DECLARE_MESSAGE_MAP()
CExclusionList m_listExclusions;
// Fill the exclusions listbox from the current list
void Fill ( int nCurSel = 0, BOOL bToggleRedraw = TRUE ) ;
// Return TRUE if the given range overlaps an already-defined range
BOOL IsOverlappingRange ( CDhcpIpRange & dhcIpRange ) ;
// Store the excluded IP range values into a range object
BOOL GetExclusionRange (CDhcpIpRange & dhcIpRange ) ;
// Format an IP range pair into the exclusion edit controls
void FillExcl ( CDhcpIpRange * pdhcIpRange ) ;
void UpdateButtons();
};
/////////////////////////////////////////////////////////////////////////////
//
// CMScopeWizLeaseTime dialog
//
/////////////////////////////////////////////////////////////////////////////
class CMScopeWizLeaseTime : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizLeaseTime)
// Construction
public:
CMScopeWizLeaseTime();
~CMScopeWizLeaseTime();
// Dialog Data
//{{AFX_DATA(CMScopeWizLeaseTime)
enum { IDD = IDW_MSCOPE_LEASE_TIME };
CSpinButtonCtrl m_spinMinutes;
CSpinButtonCtrl m_spinHours;
CSpinButtonCtrl m_spinDays;
CEdit m_editMinutes;
CEdit m_editHours;
CEdit m_editDays;
//}}AFX_DATA
static int m_nDaysDefault;
static int m_nHoursDefault;
static int m_nMinutesDefault;
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizLeaseTime)
public:
virtual LRESULT OnWizardNext();
virtual LRESULT OnWizardBack();
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
public:
DWORD GetLeaseTime();
protected:
// Generated message map functions
//{{AFX_MSG(CMScopeWizLeaseTime)
virtual BOOL OnInitDialog();
afx_msg void OnRadioLeaseLimited();
afx_msg void OnRadioLeaseUnlimited();
afx_msg void OnChangeEditLeaseHours();
afx_msg void OnChangeEditLeaseMinutes();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void ActivateDuration(BOOL fActive);
};
/////////////////////////////////////////////////////////////////////////////
//
// CMScopeWizFinished dialog
//
/////////////////////////////////////////////////////////////////////////////
class CMScopeWizFinished : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizFinished)
// Construction
public:
CMScopeWizFinished();
~CMScopeWizFinished();
// Dialog Data
//{{AFX_DATA(CMScopeWizFinished)
enum { IDD = IDW_MSCOPE_FINISHED };
CStatic m_staticTitle;
//}}AFX_DATA
CFont m_fontBig;
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizFinished)
public:
virtual BOOL OnWizardFinish();
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CMScopeWizFinished)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CMScopeWizWelcome dialog
class CMScopeWizWelcome : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizWelcome)
// Construction
public:
CMScopeWizWelcome();
~CMScopeWizWelcome();
// Dialog Data
//{{AFX_DATA(CMScopeWizWelcome)
enum { IDD = IDW_MSCOPE_WELCOME };
CStatic m_staticTitle;
//}}AFX_DATA
CFont m_fontBig;
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizWelcome)
public:
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CMScopeWizWelcome)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CMScopeWizActivate dialog
class CMScopeWizActivate : public CPropertyPageBase
{
DECLARE_DYNCREATE(CMScopeWizActivate)
// Construction
public:
CMScopeWizActivate();
~CMScopeWizActivate();
// Dialog Data
//{{AFX_DATA(CMScopeWizActivate)
enum { IDD = IDW_MSCOPE_ACTIVATE };
CButton m_radioYes;
//}}AFX_DATA
BOOL m_fActivate;
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CMScopeWizActivate)
public:
virtual LRESULT OnWizardNext();
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CMScopeWizActivate)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
//}}AFX
///////////////////////////////////////////////////////////////////////////////
//
// CMScopeWiz
// page holder to contain multicast scope wizard pages
//
/////////////////////////////////////////////////////////////////////////////
class CMScopeWiz : public CPropertyPageHolderBase
{
friend class CMScopeWizWelcome;
friend class CMScopeWizName;
friend class CMScopeWizInvalidName;
friend class CMScopeWizSetRange;
friend class CMScopeWizSetExclusions;
friend class CMScopeWizLeaseTime;
friend class CMScopeWizFinished;
public:
CMScopeWiz(ITFSNode * pNode,
IComponentData * pComponentData,
ITFSComponentData * pTFSCompData,
LPCTSTR pszSheetName);
virtual ~CMScopeWiz();
virtual DWORD OnFinish();
BOOL GetScopeRange(CDhcpIpRange * pdhcpIpRange);
ITFSComponentData * GetTFSCompData()
{
if (m_spTFSCompData)
m_spTFSCompData->AddRef();
return m_spTFSCompData;
}
public:
CMScopeWizWelcome m_pageWelcome;
CMScopeWizName m_pageName;
CMScopeWizInvalidName m_pageInvalidName;
CMScopeWizSetRange m_pageSetRange;
CMScopeWizSetExclusions m_pageSetExclusions;
CMScopeWizLeaseTime m_pageLeaseTime;
CMScopeWizActivate m_pageActivate;
CMScopeWizFinished m_pageFinished;
protected:
DWORD CreateScope();
SPITFSComponentData m_spTFSCompData;
};
#endif // !defined _MSCOPWIZ_H