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.

115 lines
2.5 KiB

  1. // Copyright (c) 2001 Microsoft Corporation
  2. //
  3. // File: AdminPackInstallationUnit.h
  4. //
  5. // Synopsis: Declares a AdminPackInstallationUnit
  6. // This object has the knowledge for installing
  7. // the Administration Tools Pack
  8. //
  9. // History: 06/01/2001 JeffJon Created
  10. #ifndef __CYS_ADMINPACKINSTALLATIONUNIT_H
  11. #define __CYS_ADMINPACKINSTALLATIONUNIT_H
  12. #include "InstallationUnit.h"
  13. #include "sainstallcom.h"
  14. class AdminPackInstallationUnit : public InstallationUnit
  15. {
  16. public:
  17. // Constructor
  18. AdminPackInstallationUnit();
  19. // Destructor
  20. virtual
  21. ~AdminPackInstallationUnit();
  22. // Installation Unit overrides
  23. virtual
  24. InstallationReturnType
  25. InstallService(HANDLE logfileHandle, HWND hwnd);
  26. virtual
  27. String
  28. GetServiceDescription();
  29. virtual
  30. bool
  31. GetMilestoneText(String& message);
  32. virtual
  33. void
  34. ServerRoleLinkSelected(int /*linkIndex*/, HWND /*hwnd*/) {};
  35. // data accessors
  36. // Admin Tools Pack
  37. bool
  38. IsAdminPackInstalled();
  39. void
  40. SetInstallAdminPack(bool install);
  41. bool
  42. GetInstallAdminPack() const;
  43. InstallationReturnType
  44. InstallAdminPack();
  45. // Web administration tools
  46. bool
  47. IsWebAdminInstalled();
  48. void
  49. SetInstallWebAdmin(bool install);
  50. bool
  51. GetInstallWebAdmin() const;
  52. InstallationReturnType
  53. InstallWebAdmin(String& errorMessage);
  54. // Network Attached Storage (NAS) Admin
  55. bool
  56. IsNASAdminInstalled();
  57. void
  58. SetInstallNASAdmin(bool install);
  59. bool
  60. GetInstallNASAdmin() const;
  61. InstallationReturnType
  62. InstallNASAdmin(String& errorMessage);
  63. private:
  64. InstallationReturnType
  65. InstallSAKUnit(
  66. SA_TYPE unitType,
  67. String& errorMessage);
  68. bool
  69. IsSAKUnitInstalled(SA_TYPE unitType);
  70. HRESULT
  71. GetSAKObject(SmartInterface<ISaInstall>& sakInstall);
  72. SmartInterface<ISaInstall> sakInstallObject;
  73. bool installAdminPack;
  74. bool installWebAdmin;
  75. bool installNASAdmin;
  76. // not defined: no copying allowed
  77. AdminPackInstallationUnit(const AdminPackInstallationUnit&);
  78. const AdminPackInstallationUnit& operator=(const AdminPackInstallationUnit&);
  79. };
  80. #endif // __CYS_ADMINPACKINSTALLATIONUNIT_H