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

265 lines
6.7 KiB
C++

//============================================================================
// Copyright (C) Microsoft Corporation, 1997 - 1999
//
// File: sumprop.h
//
// History:
// 07/22/97 Kenn M. Takara Created.
//
// IPX Summary property sheet and property pages
//
//============================================================================
#ifndef _SUMPROP_H
#define _SUMPROP_H
#ifndef _INFO_H
#include "info.h"
#endif
#ifndef _RTRSHEET_H
#include "rtrsheet.h"
#endif
#include "remras.h"
#include "rrasutil.h"
/*---------------------------------------------------------------------------
Forward declarations
---------------------------------------------------------------------------*/
class IPXConnection;
class IPXSummaryInterfaceProperties;
class IPXSummaryProperties;
/*---------------------------------------------------------------------------
class: IPXSummaryIfPageGeneral
This class handles the General page for IPX Summary interface prop sheet.
---------------------------------------------------------------------------*/
class IPXSummaryIfPageGeneral :
public RtrPropertyPage
{
public:
IPXSummaryIfPageGeneral(UINT nIDTemplate, UINT nIDCaption = 0)
: RtrPropertyPage(nIDTemplate, nIDCaption),
m_pIPXConn(NULL)
{};
~IPXSummaryIfPageGeneral();
HRESULT Init(IInterfaceInfo *pIfInfo, IPXConnection *pIpxConn,
IPXSummaryInterfaceProperties * pIPXPropSheet);
protected:
// Override the OnApply() so that we can grab our data from the
// controls in the dialog.
virtual BOOL OnApply();
void OnFiltersConfig(DWORD dwFilterDirection);
SPIInterfaceInfo m_spIf;
IPXConnection * m_pIPXConn;
IPXSummaryInterfaceProperties * m_pIPXPropSheet;
//{{AFX_VIRTUAL(IPXSummaryIfPageGeneral)
protected:
virtual VOID DoDataExchange(CDataExchange *pDX);
//}}AFX_VIRTUAL
//{{AFX_MSG(IPXSummaryIfPageGeneral)
virtual BOOL OnInitDialog();
//}}AFX_MSG
//{{AFX_MSG(IPXSummaryIfPageGeneral
afx_msg void OnChangeButton();
afx_msg void OnChangeAdminButton();
afx_msg void OnInputFilters();
afx_msg void OnOutputFilters();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/*---------------------------------------------------------------------------
class: IPXSummaryIfPageConfig
This class handles the General page for IPX Summary interface prop sheet.
---------------------------------------------------------------------------*/
class IPXSummaryIfPageConfig :
public RtrPropertyPage
{
public:
IPXSummaryIfPageConfig(UINT nIDTemplate, UINT nIDCaption = 0)
: RtrPropertyPage(nIDTemplate, nIDCaption),
m_pIPXConn(NULL)
{};
~IPXSummaryIfPageConfig();
HRESULT Init(IInterfaceInfo *pIfInfo, IPXConnection *pIpxConn,
IPXSummaryInterfaceProperties * pIPXPropSheet);
virtual BOOL OnPropertyChange(BOOL bScopePane, LONG_PTR* pChangeMask); // execute from main thread
protected:
// Override the OnApply() so that we can grab our data from the
// controls in the dialog.
virtual BOOL OnApply();
SPIInterfaceInfo m_spIf;
IPXConnection * m_pIPXConn;
IPXSummaryInterfaceProperties * m_pIPXPropSheet;
DWORD m_dwNetNumber;
BOOL m_fNetNumberChanged;
SPIRemoteRouterConfig m_spRemote;
HRESULT m_hrRemote; // error code of remote call
//{{AFX_VIRTUAL(IPXSummaryIfPageConfig)
protected:
virtual VOID DoDataExchange(CDataExchange *pDX);
virtual VOID OnChangeEdit();
//}}AFX_VIRTUAL
//{{AFX_MSG(IPXSummaryIfPageConfig)
virtual BOOL OnInitDialog();
//}}AFX_MSG
//{{AFX_MSG(IPXSummaryIfPageConfig
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/*---------------------------------------------------------------------------
Class: IPXSummaryInterfaceProperties
This is the property sheet support class for the properties page of
the nodes that appear in the IPX summary node.
---------------------------------------------------------------------------*/
class IPXSummaryInterfaceProperties :
public RtrPropertySheet
{
public:
IPXSummaryInterfaceProperties(ITFSNode *pNode,
IComponentData *pComponentData,
ITFSComponentData *pTFSCompData,
LPCTSTR pszSheetName,
CWnd *pParent = NULL,
UINT iPage=0,
BOOL fScopePane = TRUE);
~IPXSummaryInterfaceProperties();
HRESULT Init(IRtrMgrInfo *pRm, IInterfaceInfo *pInterfaceInfo);
virtual BOOL SaveSheetData();
virtual void CancelSheetData();
// Loads the infobase for this interface.
HRESULT LoadInfoBase(IPXConnection *pIPXConn);
HRESULT GetInfoBase(IInfoBase **ppInfoBase);
BOOL m_bNewInterface;
protected:
SPIInterfaceInfo m_spIf;
SPIRtrMgrInfo m_spRm;
SPIRtrMgrInterfaceInfo m_spRmIf;
IPXSummaryIfPageGeneral m_pageGeneral;
IPXSummaryIfPageConfig m_pageConfig;
SPITFSNode m_spNode;
SPIInfoBase m_spInfoBase;
BOOL m_bClientInfoBase;
IPXConnection * m_pIPXConn;
};
/*---------------------------------------------------------------------------
Class: IPXSummaryPageGeneral
This class handles the General page of the IPX Summary prop sheet.
---------------------------------------------------------------------------*/
class IPXSummaryPageGeneral :
public RtrPropertyPage
{
public:
IPXSummaryPageGeneral(UINT nIDTemplate, UINT nIDCaption = 0)
: RtrPropertyPage(nIDTemplate, nIDCaption)
{};
HRESULT Init(IPXSummaryProperties * pIPXPropSheet);
protected:
void SetLogLevelButtons(DWORD dwLogLevel);
DWORD QueryLogLevelButtons();
// Override the OnApply() so that we can grab our data from the
// controls in the dialog.
virtual BOOL OnApply();
IPXSummaryProperties * m_pIPXPropSheet;
//{{AFX_VIRTUAL(IPXSummaryPageGeneral)
protected:
virtual VOID DoDataExchange(CDataExchange *pDX);
//}}AFX_VIRTUAL
//{{AFX_MSG(IPXSummaryPageGeneral)
virtual BOOL OnInitDialog();
//}}AFX_MSG
//{{AFX_MSG(IPXSummaryPageGeneral
afx_msg void OnButtonClicked();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/*---------------------------------------------------------------------------
Class: IPXSummaryProperties
This is the property sheet support class for the properties page of
the IPX Summary node.
---------------------------------------------------------------------------*/
class IPXSummaryProperties :
public RtrPropertySheet
{
public:
IPXSummaryProperties(ITFSNode *pNode,
IComponentData *pComponentData,
ITFSComponentData *pTFSCompData,
LPCTSTR pszSheetName,
CWnd *pParent = NULL,
UINT iPage=0,
BOOL fScopePane = TRUE);
HRESULT Init(IRtrMgrInfo *pRm);
virtual BOOL SaveSheetData();
// Loads the infobase for this interface.
HRESULT LoadInfoBase(IPXConnection *pIPXConn);
HRESULT GetInfoBase(IInfoBase **ppInfoBase);
protected:
SPIRtrMgrInfo m_spRm;
IPXSummaryPageGeneral m_pageGeneral;
SPITFSNode m_spNode;
SPIInfoBase m_spInfoBase;
BOOL m_bClientInfoBase;
};
#endif _SUMPROP_H