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.

134 lines
3.8 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. , DWORD dwClusterIpAddressIn
  70. );
  71. // Cleanup and remove the service.
  72. void
  73. CleanupService();
  74. //////////////////////////////////////////////////////////////////////////
  75. // Protected accessors
  76. //////////////////////////////////////////////////////////////////////////
  77. // Get the ClusSvc service object.
  78. CService &
  79. RcsGetService() throw()
  80. {
  81. return m_cservClusSvc;
  82. }
  83. // Get the parent action
  84. CBaseClusterAction *
  85. PbcaGetParent() throw()
  86. {
  87. return m_pbcaParentAction;
  88. }
  89. private:
  90. //////////////////////////////////////////////////////////////////////////
  91. // Private member functions
  92. //////////////////////////////////////////////////////////////////////////
  93. // Copy constructor
  94. CClusSvc( const CClusSvc & );
  95. // Assignment operator
  96. const CClusSvc & operator =( const CClusSvc & );
  97. //////////////////////////////////////////////////////////////////////////
  98. // Private data
  99. //////////////////////////////////////////////////////////////////////////
  100. // The CService object representing the ClusSvc service.
  101. CService m_cservClusSvc;
  102. // Pointer to the base cluster action of which this action is a part.
  103. CBaseClusterAction * m_pbcaParentAction;
  104. }; //*** class CClusSvc