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.

133 lines
3.7 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CClusSvc.h
  7. //
  8. // Description:
  9. // Header file for CClusSvc class.
  10. // The CClusSvc class performs operations that are common to many
  11. // configuration tasks of the ClusSvc service.
  12. //
  13. // Implementation Files:
  14. // CClusSvc.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 CService class
  28. #include "CService.h"
  29. //////////////////////////////////////////////////////////////////////////
  30. // Forward declaration
  31. //////////////////////////////////////////////////////////////////////////
  32. class CBaseClusterAction;
  33. //////////////////////////////////////////////////////////////////////////////
  34. //++
  35. //
  36. // class CClusSvc
  37. //
  38. // Description:
  39. // The CClusSvc class performs operations that are common to many
  40. // configuration tasks of the ClusSvc service.
  41. //
  42. // This class is intended to be used as the base class for other ClusSvc
  43. // related action classes.
  44. //
  45. //--
  46. //////////////////////////////////////////////////////////////////////////////
  47. class CClusSvc : public CAction
  48. {
  49. protected:
  50. //////////////////////////////////////////////////////////////////////////
  51. // Protected constructors and destructors
  52. //////////////////////////////////////////////////////////////////////////
  53. // Constructor.
  54. CClusSvc(
  55. CBaseClusterAction * pbcaParentActionIn
  56. );
  57. // Default destructor.
  58. ~CClusSvc();
  59. //////////////////////////////////////////////////////////////////////////
  60. // Protected methods
  61. //////////////////////////////////////////////////////////////////////////
  62. // Create and configure the service.
  63. void
  64. ConfigureService(
  65. const WCHAR * pszClusterDomainAccountNameIn
  66. , const WCHAR * pszClusterAccountPwdIn
  67. , const WCHAR * pszNodeIdString
  68. , bool fIsVersionCheckingDisabledIn
  69. );
  70. // Cleanup and remove the service.
  71. void
  72. CleanupService();
  73. //////////////////////////////////////////////////////////////////////////
  74. // Protected accessors
  75. //////////////////////////////////////////////////////////////////////////
  76. // Get the ClusSvc service object.
  77. CService &
  78. RcsGetService() throw()
  79. {
  80. return m_cservClusSvc;
  81. }
  82. // Get the parent action
  83. CBaseClusterAction *
  84. PbcaGetParent() throw()
  85. {
  86. return m_pbcaParentAction;
  87. }
  88. private:
  89. //////////////////////////////////////////////////////////////////////////
  90. // Private member functions
  91. //////////////////////////////////////////////////////////////////////////
  92. // Copy constructor
  93. CClusSvc( const CClusSvc & );
  94. // Assignment operator
  95. const CClusSvc & operator =( const CClusSvc & );
  96. //////////////////////////////////////////////////////////////////////////
  97. // Private data
  98. //////////////////////////////////////////////////////////////////////////
  99. // The CService object representing the ClusSvc service.
  100. CService m_cservClusSvc;
  101. // Pointer to the base cluster action of which this action is a part.
  102. CBaseClusterAction * m_pbcaParentAction;
  103. }; //*** class CClusSvc