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.

124 lines
3.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1998
  6. //
  7. // File: servmon.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #ifndef _SERVMON_H
  11. #define _SERVMON_H
  12. #include "serverui.h"
  13. #include "ipeditor.h"
  14. ///////////////////////////////////////////////////////////////////////////////
  15. // FORWARD DECLARATIONS
  16. class CDNSServerNode;
  17. ///////////////////////////////////////////////////////////////////////////////
  18. // CDNSServer_TestPropertyPage
  19. class CDNSServer_TestPropertyPage; // fwd decl
  20. class CDNSServer_PollingIntervalEditGroup : public CDNSTimeIntervalEditGroup
  21. {
  22. public:
  23. CDNSServer_PollingIntervalEditGroup(UINT nMinVal, UINT nMaxVal);
  24. virtual void OnEditChange();
  25. private:
  26. CDNSServer_TestPropertyPage* m_pPage;
  27. friend class CDNSServer_TestPropertyPage;
  28. };
  29. #define SVR_TEST_RESULT_LISTVIEW_NCOLS 4
  30. class CTestResultsListCtrl : public CListCtrl
  31. {
  32. public:
  33. void Initialize();
  34. void InsertEntry(CDNSServerTestQueryResult* pTestResult, int nItemIndex);
  35. void UpdateEntry(CDNSServerTestQueryResult* pTestResult, int nItemIndex);
  36. private:
  37. void FormatDate(CDNSServerTestQueryResult* pTestResult, LPWSTR lpsz, int nCharMax);
  38. void FormatTime(CDNSServerTestQueryResult* pTestResult, LPWSTR lpsz, int nCharMax);
  39. };
  40. class CDNSServer_TestPropertyPage : public CPropertyPageBase
  41. {
  42. // Construction
  43. public:
  44. CDNSServer_TestPropertyPage();
  45. virtual BOOL OnPropertyChange(BOOL bScopePane, long* pChangeMask);
  46. void OnHaveTestData(LPARAM lParam);
  47. // Implementation
  48. protected:
  49. virtual void SetUIData();
  50. // Generated message map functions
  51. virtual BOOL OnInitDialog();
  52. virtual BOOL OnApply();
  53. afx_msg void OnTestNow();
  54. afx_msg void OnEnableTestingCheck();
  55. afx_msg void OnQueryCheck();
  56. private:
  57. CDNSServer_PollingIntervalEditGroup m_pollingIntervalEditGroup;
  58. CTestResultsListCtrl m_listCtrl;
  59. CButton* GetTestNowButton()
  60. { return (CButton*)GetDlgItem(IDC_TEST_NOW_BUTTON);}
  61. CButton* GetEnableTestingCheck()
  62. { return (CButton*)GetDlgItem(IDC_ENABLE_TESTING_CHECK);}
  63. CButton* GetSimpleQueryCheck()
  64. { return (CButton*)GetDlgItem(IDC_SIMPLE_QUERY_CHECK);}
  65. CButton* GetRecursiveQueryCheck()
  66. { return (CButton*)GetDlgItem(IDC_RECURSIVE_QUERY_CHECK);}
  67. void EnableControlsHelper(BOOL bEnable);
  68. CDNSServerTestOptions m_testOptions;
  69. void AddEntryToList(CDNSServerTestQueryResultList::addAction action);
  70. void PopulateList();
  71. DECLARE_MESSAGE_MAP()
  72. friend class CDNSServer_PollingIntervalEditGroup;
  73. };
  74. ///////////////////////////////////////////////////////////////////////////////
  75. // CDNSServerMonitoringPageHolder
  76. // page holder to contain DNS Server Monitoring property pages
  77. /*
  78. class CDNSServerMonitoringPageHolder : public CPropertyPageHolderBase
  79. {
  80. public:
  81. CDNSServerMonitoringPageHolder(CDNSRootData* pRootDataNode, CDNSServerNode* pServerNode,
  82. CComponentDataObject* pComponentData);
  83. CDNSServerNode* GetServerNode() { return (CDNSServerNode*)GetTreeNode();}
  84. private:
  85. CDNSServer_StatisticsPropertyPage m_statisticsPage;
  86. CDNSServer_TestPropertyPage m_testPage;
  87. };
  88. */
  89. #endif // _SERVMON_H