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.

129 lines
4.3 KiB

  1. //+--------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1994 - 1997.
  5. //
  6. // File: data.h
  7. //
  8. // Contents: Defines storage class that maintains data for snap-in nodes.
  9. //
  10. // Classes: CAppData
  11. //
  12. // Functions:
  13. //
  14. // History: 05-27-1997 stevebl Created
  15. // 03-14-1998 stevebl corrected
  16. //
  17. //---------------------------------------------------------------------------
  18. #ifndef _DATA_H_
  19. #define _DATA_H_
  20. #define _NEW_
  21. #include <map>
  22. #include <set>
  23. #include <algorithm>
  24. using namespace std;
  25. typedef enum DEPLOYMENT_TYPES
  26. {
  27. DT_ASSIGNED = 0,
  28. DT_PUBLISHED
  29. } DEPLOYMENT_TYPE;
  30. class CScopePane;
  31. class CProduct;
  32. class CDeploy;
  33. class CCategory;
  34. class CXforms;
  35. class CPackageDetails;
  36. class CUpgradeList;
  37. class CPrecedence;
  38. class CErrorInfo;
  39. class CCause;
  40. class CAppData
  41. {
  42. public:
  43. CAppData();
  44. ~CAppData();
  45. // data
  46. PACKAGEDETAIL * m_pDetails;
  47. MMC_COOKIE m_itemID;
  48. BOOL m_fVisible;
  49. BOOL m_fHide;
  50. BOOL m_fRSoP;
  51. // property pages: (NULL unless property pages are being displayed)
  52. CProduct * m_pProduct;
  53. CDeploy * m_pDeploy;
  54. CCategory * m_pCategory;
  55. CUpgradeList * m_pUpgradeList;
  56. CXforms * m_pXforms;
  57. CPrecedence * m_pPrecedence;
  58. CPackageDetails * m_pPkgDetails;
  59. CErrorInfo * m_pErrorInfo;
  60. CCause * m_pCause;
  61. CString m_szUpgrades; // cache of upgrade relationships
  62. void NotifyChange(void);
  63. // RSOP MODE data members
  64. CString m_szGPOID; // path to originating GPO
  65. CString m_szGPOName; // Friendly name of originating GPO
  66. CString m_szSOMID;
  67. CString m_szDeploymentGroupID;
  68. DWORD m_dwApplyCause;
  69. DWORD m_dwLanguageMatch;
  70. CString m_szOnDemandFileExtension;
  71. CString m_szOnDemandClsid;
  72. CString m_szOnDemandProgid;
  73. DWORD m_dwRemovalCause;
  74. DWORD m_dwRemovalType;
  75. CString m_szRemovingApplication;
  76. CString m_szRemovingApplicationName;
  77. PSECURITY_DESCRIPTOR m_psd;
  78. set <CString> m_setUpgradedBy;
  79. set <CString> m_setUpgrade;
  80. set <CString> m_setReplace;
  81. // failed settings data
  82. CString m_szEventSource;
  83. CString m_szEventLogName;
  84. DWORD m_dwEventID;
  85. CString m_szEventTime;
  86. HRESULT m_hrErrorCode;
  87. int m_nStatus; // Values { "Unspecified", "Applied", "Ignored", "Failed", "SubsettingFailed" }
  88. CString m_szEventLogText;
  89. // methods - NOTE: all methods require a valid pDetails
  90. void InitializeExtraInfo(void);
  91. void GetSzDeployment(CString &);
  92. void GetSzAutoInstall(CString &);
  93. void GetSzLocale(CString &);
  94. void GetSzPlatform(CString &);
  95. void GetSzStage(CString &);
  96. void GetSzUpgrades(CString &, CScopePane *);
  97. void GetSzUpgradedBy(CString &, CScopePane *);
  98. void GetSzVersion(CString &);
  99. void GetSzMods(CString &);
  100. void GetSzSource(CString &);
  101. void GetSzPublisher(CString &);
  102. void GetSzOOSUninstall(CString &);
  103. void GetSzShowARP(CString &);
  104. void GetSzUIType(CString &);
  105. void GetSzIgnoreLoc(CString &);
  106. void GetSzRemovePrev(CString &);
  107. void GetSzProductCode(CString &);
  108. void GetSzOrigin(CString &);
  109. void GetSzSOM(CString &);
  110. int GetImageIndex(CScopePane *);
  111. static DWORD Get64BitMsiArchFlags ( PACKAGEDETAIL* pPackageDetails );
  112. BOOL Is64Bit(void);
  113. static BOOL Is64Bit( PACKAGEDETAIL* pPackageDetails );
  114. void GetSzX86OnWin64(CString &);
  115. void GetSzFullInstall(CString &);
  116. };
  117. #endif // _DATA_H_