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.

264 lines
6.7 KiB

  1. //============================================================================
  2. // Copyright (C) Microsoft Corporation, 1997 - 1999
  3. //
  4. // File: sumprop.h
  5. //
  6. // History:
  7. // 07/22/97 Kenn M. Takara Created.
  8. //
  9. // IPX Summary property sheet and property pages
  10. //
  11. //============================================================================
  12. #ifndef _SUMPROP_H
  13. #define _SUMPROP_H
  14. #ifndef _INFO_H
  15. #include "info.h"
  16. #endif
  17. #ifndef _RTRSHEET_H
  18. #include "rtrsheet.h"
  19. #endif
  20. #include "remras.h"
  21. #include "rrasutil.h"
  22. /*---------------------------------------------------------------------------
  23. Forward declarations
  24. ---------------------------------------------------------------------------*/
  25. class IPXConnection;
  26. class IPXSummaryInterfaceProperties;
  27. class IPXSummaryProperties;
  28. /*---------------------------------------------------------------------------
  29. class: IPXSummaryIfPageGeneral
  30. This class handles the General page for IPX Summary interface prop sheet.
  31. ---------------------------------------------------------------------------*/
  32. class IPXSummaryIfPageGeneral :
  33. public RtrPropertyPage
  34. {
  35. public:
  36. IPXSummaryIfPageGeneral(UINT nIDTemplate, UINT nIDCaption = 0)
  37. : RtrPropertyPage(nIDTemplate, nIDCaption),
  38. m_pIPXConn(NULL)
  39. {};
  40. ~IPXSummaryIfPageGeneral();
  41. HRESULT Init(IInterfaceInfo *pIfInfo, IPXConnection *pIpxConn,
  42. IPXSummaryInterfaceProperties * pIPXPropSheet);
  43. protected:
  44. // Override the OnApply() so that we can grab our data from the
  45. // controls in the dialog.
  46. virtual BOOL OnApply();
  47. void OnFiltersConfig(DWORD dwFilterDirection);
  48. SPIInterfaceInfo m_spIf;
  49. IPXConnection * m_pIPXConn;
  50. IPXSummaryInterfaceProperties * m_pIPXPropSheet;
  51. //{{AFX_VIRTUAL(IPXSummaryIfPageGeneral)
  52. protected:
  53. virtual VOID DoDataExchange(CDataExchange *pDX);
  54. //}}AFX_VIRTUAL
  55. //{{AFX_MSG(IPXSummaryIfPageGeneral)
  56. virtual BOOL OnInitDialog();
  57. //}}AFX_MSG
  58. //{{AFX_MSG(IPXSummaryIfPageGeneral
  59. afx_msg void OnChangeButton();
  60. afx_msg void OnChangeAdminButton();
  61. afx_msg void OnInputFilters();
  62. afx_msg void OnOutputFilters();
  63. //}}AFX_MSG
  64. DECLARE_MESSAGE_MAP()
  65. };
  66. /*---------------------------------------------------------------------------
  67. class: IPXSummaryIfPageConfig
  68. This class handles the General page for IPX Summary interface prop sheet.
  69. ---------------------------------------------------------------------------*/
  70. class IPXSummaryIfPageConfig :
  71. public RtrPropertyPage
  72. {
  73. public:
  74. IPXSummaryIfPageConfig(UINT nIDTemplate, UINT nIDCaption = 0)
  75. : RtrPropertyPage(nIDTemplate, nIDCaption),
  76. m_pIPXConn(NULL)
  77. {};
  78. ~IPXSummaryIfPageConfig();
  79. HRESULT Init(IInterfaceInfo *pIfInfo, IPXConnection *pIpxConn,
  80. IPXSummaryInterfaceProperties * pIPXPropSheet);
  81. virtual BOOL OnPropertyChange(BOOL bScopePane, LONG_PTR* pChangeMask); // execute from main thread
  82. protected:
  83. // Override the OnApply() so that we can grab our data from the
  84. // controls in the dialog.
  85. virtual BOOL OnApply();
  86. SPIInterfaceInfo m_spIf;
  87. IPXConnection * m_pIPXConn;
  88. IPXSummaryInterfaceProperties * m_pIPXPropSheet;
  89. DWORD m_dwNetNumber;
  90. BOOL m_fNetNumberChanged;
  91. SPIRemoteRouterConfig m_spRemote;
  92. HRESULT m_hrRemote; // error code of remote call
  93. //{{AFX_VIRTUAL(IPXSummaryIfPageConfig)
  94. protected:
  95. virtual VOID DoDataExchange(CDataExchange *pDX);
  96. virtual VOID OnChangeEdit();
  97. //}}AFX_VIRTUAL
  98. //{{AFX_MSG(IPXSummaryIfPageConfig)
  99. virtual BOOL OnInitDialog();
  100. //}}AFX_MSG
  101. //{{AFX_MSG(IPXSummaryIfPageConfig
  102. //}}AFX_MSG
  103. DECLARE_MESSAGE_MAP()
  104. };
  105. /*---------------------------------------------------------------------------
  106. Class: IPXSummaryInterfaceProperties
  107. This is the property sheet support class for the properties page of
  108. the nodes that appear in the IPX summary node.
  109. ---------------------------------------------------------------------------*/
  110. class IPXSummaryInterfaceProperties :
  111. public RtrPropertySheet
  112. {
  113. public:
  114. IPXSummaryInterfaceProperties(ITFSNode *pNode,
  115. IComponentData *pComponentData,
  116. ITFSComponentData *pTFSCompData,
  117. LPCTSTR pszSheetName,
  118. CWnd *pParent = NULL,
  119. UINT iPage=0,
  120. BOOL fScopePane = TRUE);
  121. ~IPXSummaryInterfaceProperties();
  122. HRESULT Init(IRtrMgrInfo *pRm, IInterfaceInfo *pInterfaceInfo);
  123. virtual BOOL SaveSheetData();
  124. virtual void CancelSheetData();
  125. // Loads the infobase for this interface.
  126. HRESULT LoadInfoBase(IPXConnection *pIPXConn);
  127. HRESULT GetInfoBase(IInfoBase **ppInfoBase);
  128. BOOL m_bNewInterface;
  129. protected:
  130. SPIInterfaceInfo m_spIf;
  131. SPIRtrMgrInfo m_spRm;
  132. SPIRtrMgrInterfaceInfo m_spRmIf;
  133. IPXSummaryIfPageGeneral m_pageGeneral;
  134. IPXSummaryIfPageConfig m_pageConfig;
  135. SPITFSNode m_spNode;
  136. SPIInfoBase m_spInfoBase;
  137. BOOL m_bClientInfoBase;
  138. IPXConnection * m_pIPXConn;
  139. };
  140. /*---------------------------------------------------------------------------
  141. Class: IPXSummaryPageGeneral
  142. This class handles the General page of the IPX Summary prop sheet.
  143. ---------------------------------------------------------------------------*/
  144. class IPXSummaryPageGeneral :
  145. public RtrPropertyPage
  146. {
  147. public:
  148. IPXSummaryPageGeneral(UINT nIDTemplate, UINT nIDCaption = 0)
  149. : RtrPropertyPage(nIDTemplate, nIDCaption)
  150. {};
  151. HRESULT Init(IPXSummaryProperties * pIPXPropSheet);
  152. protected:
  153. void SetLogLevelButtons(DWORD dwLogLevel);
  154. DWORD QueryLogLevelButtons();
  155. // Override the OnApply() so that we can grab our data from the
  156. // controls in the dialog.
  157. virtual BOOL OnApply();
  158. IPXSummaryProperties * m_pIPXPropSheet;
  159. //{{AFX_VIRTUAL(IPXSummaryPageGeneral)
  160. protected:
  161. virtual VOID DoDataExchange(CDataExchange *pDX);
  162. //}}AFX_VIRTUAL
  163. //{{AFX_MSG(IPXSummaryPageGeneral)
  164. virtual BOOL OnInitDialog();
  165. //}}AFX_MSG
  166. //{{AFX_MSG(IPXSummaryPageGeneral
  167. afx_msg void OnButtonClicked();
  168. //}}AFX_MSG
  169. DECLARE_MESSAGE_MAP()
  170. };
  171. /*---------------------------------------------------------------------------
  172. Class: IPXSummaryProperties
  173. This is the property sheet support class for the properties page of
  174. the IPX Summary node.
  175. ---------------------------------------------------------------------------*/
  176. class IPXSummaryProperties :
  177. public RtrPropertySheet
  178. {
  179. public:
  180. IPXSummaryProperties(ITFSNode *pNode,
  181. IComponentData *pComponentData,
  182. ITFSComponentData *pTFSCompData,
  183. LPCTSTR pszSheetName,
  184. CWnd *pParent = NULL,
  185. UINT iPage=0,
  186. BOOL fScopePane = TRUE);
  187. HRESULT Init(IRtrMgrInfo *pRm);
  188. virtual BOOL SaveSheetData();
  189. // Loads the infobase for this interface.
  190. HRESULT LoadInfoBase(IPXConnection *pIPXConn);
  191. HRESULT GetInfoBase(IInfoBase **ppInfoBase);
  192. protected:
  193. SPIRtrMgrInfo m_spRm;
  194. IPXSummaryPageGeneral m_pageGeneral;
  195. SPITFSNode m_spNode;
  196. SPIInfoBase m_spInfoBase;
  197. BOOL m_bClientInfoBase;
  198. };
  199. #endif _SUMPROP_H