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.

122 lines
3.7 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CNodeConfig.h
  7. //
  8. // Description:
  9. // Header file for CNodeConfig class.
  10. // The CNodeConfig class is an action that performs configuration tasks
  11. // related to the node being configured. These tasks are not directly
  12. // related to the cluster service itself, but needed by it. An example,
  13. // of such a task is to make set the power management scheme of the
  14. // node to 'Always On'. This class is used during join or form only.
  15. //
  16. // Implementation Files:
  17. // CNodeConfig.cpp
  18. //
  19. // Maintained By:
  20. // Vij Vasu (Vvasu) 03-MAR-2000
  21. //
  22. //////////////////////////////////////////////////////////////////////////////
  23. // Make sure that this file is included only once per compile path.
  24. #pragma once
  25. //////////////////////////////////////////////////////////////////////////
  26. // Include Files
  27. //////////////////////////////////////////////////////////////////////////
  28. // For the CNode base class
  29. #include "CNode.h"
  30. //////////////////////////////////////////////////////////////////////////
  31. // Forward declarations
  32. //////////////////////////////////////////////////////////////////////////
  33. // The parent action of this action.
  34. class CBaseClusterAddNode;
  35. //////////////////////////////////////////////////////////////////////////////
  36. //++
  37. //
  38. // class CNodeConfig
  39. //
  40. // Description:
  41. // The CNodeConfig class is an action that performs configuration tasks
  42. // related to the node being configured. These tasks are not directly
  43. // related to the cluster service itself, but needed by it. An example,
  44. // of such a task is to make set the power management scheme of the
  45. // node to 'Always On'. This class is used during join or form only.
  46. //
  47. //--
  48. //////////////////////////////////////////////////////////////////////////////
  49. class CNodeConfig : public CNode
  50. {
  51. public:
  52. //////////////////////////////////////////////////////////////////////////
  53. // Public constructors and destructors
  54. //////////////////////////////////////////////////////////////////////////
  55. // Constructor.
  56. CNodeConfig( CBaseClusterAddNode * pbcanParentActionIn );
  57. // Default destructor.
  58. ~CNodeConfig();
  59. //////////////////////////////////////////////////////////////////////////
  60. // Public methods
  61. //////////////////////////////////////////////////////////////////////////
  62. //
  63. // Grant the required rights to the account.
  64. //
  65. void Commit();
  66. //
  67. // Revert the account to its previous state.
  68. //
  69. void Rollback();
  70. // Returns the number of progress messages that this action will send.
  71. UINT
  72. UiGetMaxProgressTicks() const throw()
  73. {
  74. //
  75. // The notification is:
  76. // 1. Performing node specific configuration
  77. //
  78. return 1;
  79. }
  80. private:
  81. //////////////////////////////////////////////////////////////////////////
  82. // Private type definitions
  83. //////////////////////////////////////////////////////////////////////////
  84. typedef CNode BaseClass;
  85. //////////////////////////////////////////////////////////////////////////
  86. // Private member functions
  87. //////////////////////////////////////////////////////////////////////////
  88. // Copy constructor
  89. CNodeConfig( const CNodeConfig & );
  90. // Assignment operator
  91. CNodeConfig & operator =( const CNodeConfig & );
  92. //////////////////////////////////////////////////////////////////////////
  93. // Private data
  94. //////////////////////////////////////////////////////////////////////////
  95. }; //*** class CNodeConfig