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.

120 lines
3.5 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CNode.h
  7. //
  8. // Description:
  9. // Header file for CNode class.
  10. // The CNode class is a base class for action classes that perform
  11. // configuration tasks related to the node being configured.
  12. //
  13. // Implementation Files:
  14. // CNode.cpp
  15. //
  16. // Maintained By:
  17. // Vij Vasu (Vvasu) 03-MAR-2000
  18. //
  19. //////////////////////////////////////////////////////////////////////////////
  20. // Make sure that this file is included only once per compile path.
  21. #pragma once
  22. //////////////////////////////////////////////////////////////////////////
  23. // Include Files
  24. //////////////////////////////////////////////////////////////////////////
  25. // For the CAction base class
  26. #include "CAction.h"
  27. // For the SmartSz typedef
  28. #include "CommonDefs.h"
  29. //////////////////////////////////////////////////////////////////////////
  30. // Forward declaration
  31. //////////////////////////////////////////////////////////////////////////
  32. class CBaseClusterAction;
  33. class CStr;
  34. //////////////////////////////////////////////////////////////////////////////
  35. //++
  36. //
  37. // class CNode
  38. //
  39. // Description:
  40. // The CNode class is a base class for action classes that perform
  41. // configuration tasks related to the node being configured.
  42. //
  43. //--
  44. //////////////////////////////////////////////////////////////////////////////
  45. class CNode : public CAction
  46. {
  47. protected:
  48. //////////////////////////////////////////////////////////////////////////
  49. // Protected constructors and destructors
  50. //////////////////////////////////////////////////////////////////////////
  51. // Constructor.
  52. CNode( CBaseClusterAction * pbcaParentActionIn );
  53. // Default destructor.
  54. ~CNode();
  55. //////////////////////////////////////////////////////////////////////////
  56. // Protected methods
  57. //////////////////////////////////////////////////////////////////////////
  58. // Configure this node.
  59. void
  60. Configure( const CStr & rcstrClusterNameIn );
  61. // Clean up the changes made to this node when it joined a cluster.
  62. void
  63. Cleanup();
  64. //////////////////////////////////////////////////////////////////////////
  65. // Protected accessors
  66. //////////////////////////////////////////////////////////////////////////
  67. // Get the parent action
  68. CBaseClusterAction *
  69. PbcaGetParent() throw()
  70. {
  71. return m_pbcaParentAction;
  72. }
  73. private:
  74. //////////////////////////////////////////////////////////////////////////
  75. // Private member functions
  76. //////////////////////////////////////////////////////////////////////////
  77. // Copy constructor
  78. CNode( const CNode & );
  79. // Assignment operator
  80. const CNode & operator =( const CNode & );
  81. //////////////////////////////////////////////////////////////////////////
  82. // Private data
  83. //////////////////////////////////////////////////////////////////////////
  84. // Pointer to the base cluster action of which this action is a part.
  85. CBaseClusterAction * m_pbcaParentAction;
  86. // Did we change the cluster adminstrator connections list?
  87. bool m_fChangedConnectionsList;
  88. // The cluster administrator connections list before we changed it.
  89. SmartSz m_sszOldConnectionsList;
  90. }; //*** class CNode