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.

118 lines
2.8 KiB

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name :
  4. metabase.hxx
  5. Abstract:
  6. Class that is used to modify the metabase
  7. Author:
  8. Christopher Achille (cachille)
  9. Project:
  10. Internet Services Setup
  11. Revision History:
  12. June 2001: Created
  13. --*/
  14. #define RESTRICTIONLIST_DELIMITER ','
  15. #define CUSTOMDESCLIST_DELIMITER ','
  16. // class: CMetaBase
  17. //
  18. // This is the Metabase object, this object will be used to modify the metabase
  19. //
  20. class CMetaBase : public CBaseFunction {
  21. private:
  22. protected:
  23. DWORD GetSizeBasedOnMetaType(DWORD dwDataType, LPTSTR szString);
  24. BOOL FindStringinMultiSz(LPTSTR szMultiSz, LPTSTR szSearchString);
  25. public:
  26. };
  27. class CMetaBase_SetValue : public CMetaBase {
  28. private:
  29. virtual BOOL VerifyParameters(CItemList &ciParams);
  30. virtual BOOL DoInternalWork(CItemList &ciList);
  31. public:
  32. virtual LPTSTR GetMethodName();
  33. };
  34. class CMetaBase_IsAnotherSiteonPort80 : public CMetaBase {
  35. private:
  36. virtual BOOL VerifyParameters(CItemList &ciParams);
  37. virtual BOOL DoInternalWork(CItemList &ciList);
  38. BOOL SearchMultiSzforPort80(CMDKey &cmdKey, DWORD dwId);
  39. public:
  40. virtual LPTSTR GetMethodName();
  41. };
  42. class CMetaBase_DelIDOnEverySite : public CMetaBase {
  43. private:
  44. virtual BOOL VerifyParameters(CItemList &ciParams);
  45. virtual BOOL DoInternalWork(CItemList &ciList);
  46. public:
  47. virtual LPTSTR GetMethodName();
  48. };
  49. // class: CMetaBase_VerifyValue
  50. //
  51. // Metabase class to verify the value in the metabase
  52. //
  53. class CMetaBase_VerifyValue : public CMetaBase {
  54. private:
  55. virtual BOOL VerifyParameters(CItemList &ciParams);
  56. virtual BOOL DoInternalWork(CItemList &ciList);
  57. public:
  58. virtual LPTSTR GetMethodName();
  59. };
  60. // class: CMetaBase_ImportRestrictionList
  61. //
  62. // Import the Restriction List from the unattend file, and set the default
  63. // in the metabase
  64. //
  65. class CMetaBase_ImportRestrictionList : public CMetaBase {
  66. private:
  67. virtual BOOL VerifyParameters(CItemList &ciParams);
  68. virtual BOOL DoInternalWork(CItemList &ciList);
  69. BOOL CreateMultiSzFromList(BUFFER *pBuff, DWORD *pdwRetSize, LPTSTR szItems, TCHAR cDelimeter);
  70. BOOL ExpandEnvVar(BUFFER *pBuff);
  71. public:
  72. virtual LPTSTR GetMethodName();
  73. };
  74. // class: CMetaBase_UpdateCustomDescList
  75. //
  76. // Import the Restriction List from the unattend file, and set the default
  77. // in the metabase
  78. //
  79. class CMetaBase_UpdateCustomDescList : public CMetaBase {
  80. private:
  81. virtual BOOL VerifyParameters(CItemList &ciParams);
  82. virtual BOOL DoInternalWork(CItemList &ciList);
  83. BOOL CreateMultiSzFromList(BUFFER *pBuff, DWORD *pdwRetSize, LPTSTR szItems, TCHAR cDelimeter);
  84. BOOL ExpandEnvVar(BUFFER *pBuff);
  85. public:
  86. virtual LPTSTR GetMethodName();
  87. };