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.

128 lines
3.4 KiB

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