Leaked source code of windows server 2003
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.

121 lines
2.5 KiB

  1. // Copyright (C) 2000 Microsoft Corporation
  2. //
  3. // Dynamic DNS detection/diagnostic page
  4. //
  5. // 22 Aug 2000 sburns
  6. #ifndef DYNAMICDNSPAGE_HPP_INCLUDED
  7. #define DYNAMICDNSPAGE_HPP_INCLUDED
  8. #include "MultiLineEditBoxThatForwardsEnterKey.hpp"
  9. class DynamicDnsPage : public DCPromoWizardPage
  10. {
  11. public:
  12. DynamicDnsPage() throw (Win::Error);
  13. protected:
  14. virtual ~DynamicDnsPage();
  15. // Dialog overrides
  16. virtual
  17. void
  18. OnInit();
  19. virtual
  20. bool
  21. OnCommand(
  22. HWND windowFrom,
  23. unsigned controlIdFrom,
  24. unsigned code);
  25. virtual
  26. bool
  27. OnNotify(
  28. HWND windowFrom,
  29. UINT_PTR controlIDFrom,
  30. UINT code,
  31. LPARAM lParam);
  32. // PropertyPage overrides
  33. virtual
  34. bool
  35. OnSetActive();
  36. // WizardPage overrides
  37. virtual
  38. bool
  39. OnWizBack();
  40. // DCPromoWizardPage overrides
  41. virtual
  42. int
  43. Validate();
  44. private:
  45. enum DiagnosticCode
  46. {
  47. // These codes correspond to the message numbers in the spec diagram
  48. // of the diagnostic algorithm.
  49. SUCCESS = 1,
  50. SERVER_CANT_UPDATE = 2,
  51. ERROR_TESTING_SERVER = 3,
  52. UNEXPECTED_FINDING_SERVER = 4,
  53. ERROR_FINDING_SERVER = 6,
  54. ZONE_IS_ROOT = 8,
  55. TIMEOUT = 11
  56. };
  57. DiagnosticCode
  58. DiagnoseDnsRegistration(
  59. const String& newDomainDnsName,
  60. DNS_STATUS& errorCode,
  61. String& authZone,
  62. String& authServer,
  63. String& authServerIpAddress);
  64. void
  65. DoDnsTestAndUpdatePage();
  66. void
  67. SelectRadioButton(int buttonResId);
  68. void
  69. UpdateMessageWindow(const String& message);
  70. void
  71. ShowButtons(bool hidden);
  72. DiagnosticCode diagnosticResultCode;
  73. String details;
  74. String helpTopicLink;
  75. bool needToKillSelection;
  76. LONG originalMessageHeight;
  77. unsigned testPassCount;
  78. MultiLineEditBoxThatForwardsEnterKey multiLineEdit;
  79. static HINSTANCE richEditHInstance;
  80. // not defined; no copying allowed
  81. DynamicDnsPage(const DynamicDnsPage&);
  82. const DynamicDnsPage& operator=(const DynamicDnsPage&);
  83. };
  84. #endif // DYNAMICDNSPAGE_HPP_INCLUDED