474 lines
11 KiB
C
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
|