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.

124 lines
5.8 KiB

  1. //////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // AppManager.h
  4. //
  5. // Copyright (C) 1998, 1999 Microsoft Corporation. All rights reserved.
  6. //
  7. //////////////////////////////////////////////////////////////////////////////////////////////
  8. #ifndef __APPENTRY_H_
  9. #define __APPENTRY_H_
  10. #include "resource.h"
  11. #include "AppMan.h"
  12. //////////////////////////////////////////////////////////////////////////////////////////////
  13. //
  14. //////////////////////////////////////////////////////////////////////////////////////////////
  15. class ATL_NO_VTABLE CAppEntry :
  16. public CComObjectRootEx<CComSingleThreadModel>,
  17. public CComCoClass<CAppEntry, &CLSID_AppEntry>,
  18. public IDispatchImpl<IAppEntry, &IID_IAppEntry, &LIBID_APPMANDISPATCHLib>
  19. {
  20. public:
  21. CAppEntry(void);
  22. virtual ~CAppEntry(void);
  23. DECLARE_REGISTRY_RESOURCEID(IDR_APPENTRY)
  24. DECLARE_PROTECT_FINAL_CONSTRUCT()
  25. BEGIN_COM_MAP(CAppEntry)
  26. COM_INTERFACE_ENTRY(IAppEntry)
  27. COM_INTERFACE_ENTRY(IDispatch)
  28. END_COM_MAP()
  29. STDMETHOD (get_NonRemovableKilobytes) (/*[out, retval]*/ long *pVal);
  30. STDMETHOD (put_NonRemovableKilobytes) (/*[in]*/ long newVal);
  31. STDMETHOD (get_RemovableKilobytes) (/*[out, retval]*/ long *pVal);
  32. STDMETHOD (put_RemovableKilobytes) (/*[in]*/ long newVal);
  33. STDMETHOD (EnumTemporarySpaceAllocations) (/*[in]*/ long lTempSpaceIndex, /*[out, retval]*/ long * lTempSpaceKilobytes);
  34. STDMETHOD (EnumTemporarySpacePaths) (/*[in]*/ long lTempSpaceIndex, /*[out, retval]*/ BSTR * strRootPath);
  35. STDMETHOD (RemoveTemporarySpace) (/*[in]*/ BSTR strRootPath);
  36. STDMETHOD (GetTemporarySpace) (/*[in]*/ long lKilobytesRequired, /*[out, retval]*/ BSTR * strRootPath);
  37. STDMETHOD (EnumAssociationObjects) (/*[in]*/ long lAssociationIndex, /*[in]*/ IAppEntry * lpAppEntry);
  38. STDMETHOD (EnumAssociationTypes) (/*[in]*/ long lAssociationIndex, /*[out, retval]*/ long * lpAssociationType);
  39. STDMETHOD (RemoveAssociation) (/*[in]*/ long lAssociationType, /*[in]*/ IAppEntry * lpAppEntry);
  40. STDMETHOD (AddAssociation) (/*[in]*/ long AssociationType, /*[in]*/ IAppEntry * lpAppEntry);
  41. STDMETHOD (Run) (/*[in]*/ long lRunFlags, /*[in]*/ BSTR newVal);
  42. STDMETHOD (Abort) (void);
  43. STDMETHOD (FinalizeSelfTest) (void);
  44. STDMETHOD (InitializeSelfTest) (void);
  45. STDMETHOD (FinalizeUnInstall) (void);
  46. STDMETHOD (InitializeUnInstall) (void);
  47. STDMETHOD (FinalizeReInstall) (void);
  48. STDMETHOD (InitializeReInstall) (void);
  49. STDMETHOD (FinalizeDownsize) (void);
  50. STDMETHOD (InitializeDownsize) (void);
  51. STDMETHOD (FinalizeInstall) (void);
  52. STDMETHOD (InitializeInstall) (void);
  53. STDMETHOD (Clear) (void);
  54. STDMETHOD (get_XMLInfoFile) (/*[out, retval]*/ BSTR *pVal);
  55. STDMETHOD (put_XMLInfoFile) (/*[in]*/ BSTR newVal);
  56. STDMETHOD (get_PublisherURL) (/*[out, retval]*/ BSTR *pVal);
  57. STDMETHOD (put_PublisherURL) (/*[in]*/ BSTR newVal);
  58. STDMETHOD (get_DeveloperURL) (/*[out, retval]*/ BSTR *pVal);
  59. STDMETHOD (put_DeveloperURL) (/*[in]*/ BSTR newVal);
  60. STDMETHOD (get_TitleURL) (/*[out, retval]*/ BSTR *pVal);
  61. STDMETHOD (put_TitleURL) (/*[in]*/ BSTR newVal);
  62. STDMETHOD (get_SelfTestCmdLine) (/*[out, retval]*/ BSTR *pVal);
  63. STDMETHOD (put_SelfTestCmdLine) (/*[in]*/ BSTR newVal);
  64. STDMETHOD (get_UnInstallCmdLine) (/*[out, retval]*/ BSTR *pVal);
  65. STDMETHOD (put_UnInstallCmdLine) (/*[in]*/ BSTR newVal);
  66. STDMETHOD (get_ReInstallCmdLine) (/*[out, retval]*/ BSTR *pVal);
  67. STDMETHOD (put_ReInstallCmdLine) (/*[in]*/ BSTR newVal);
  68. STDMETHOD (get_DownsizeCmdLine) (/*[out, retval]*/ BSTR *pVal);
  69. STDMETHOD (put_DownsizeCmdLine) (/*[in]*/ BSTR newVal);
  70. STDMETHOD (get_DefaultSetupExeCmdLine) (/*[out, retval]*/ BSTR *pVal);
  71. STDMETHOD (put_DefaultSetupExeCmdLine) (/*[in]*/ BSTR newVal);
  72. STDMETHOD (get_ExecuteCmdLine) (/*[out, retval]*/ BSTR *pVal);
  73. STDMETHOD (put_ExecuteCmdLine) (/*[in]*/ BSTR newVal);
  74. STDMETHOD (get_EstimatedInstallKilobytes) (/*[out, retval]*/ long *pVal);
  75. STDMETHOD (put_EstimatedInstallKilobytes) (/*[in]*/ long newVal);
  76. STDMETHOD (get_ApplicationRootPath) (/*[out, retval]*/ BSTR *pVal);
  77. STDMETHOD (put_ApplicationRootPath) (/*[in]*/ BSTR newVal);
  78. STDMETHOD (get_SetupRootPath) (/*[out, retval]*/ BSTR *pVal);
  79. STDMETHOD (get_State) (/*[out, retval]*/ long *pVal);
  80. STDMETHOD (put_State) (/*[in]*/ long newVal);
  81. STDMETHOD (get_Category) (/*[out, retval]*/ long *pVal);
  82. STDMETHOD (put_Category) (/*[in]*/ long newVal);
  83. STDMETHOD (get_InstallDate) (/*[out, retval]*/ DATE *pVal);
  84. STDMETHOD (get_LastUsedDate) (/*[out, retval]*/ DATE *pVal);
  85. STDMETHOD (get_VersionString) (/*[out, retval]*/ BSTR *pVal);
  86. STDMETHOD (put_VersionString) (/*[in]*/ BSTR newVal);
  87. STDMETHOD (get_Signature) (/*[out, retval]*/ BSTR *pVal);
  88. STDMETHOD (put_Signature) (/*[in]*/ BSTR newVal);
  89. STDMETHOD (get_CompanyName) (/*[out, retval]*/ BSTR *pVal);
  90. STDMETHOD (put_CompanyName) (/*[in]*/ BSTR newVal);
  91. STDMETHOD (get_Guid) (/*[out, retval]*/ BSTR *pVal);
  92. STDMETHOD (put_Guid) (/*[in]*/ BSTR newVal);
  93. //
  94. // These methods are not part of the interface
  95. //
  96. STDMETHOD (Initialize) (void);
  97. STDMETHOD (GetApplicationEntryPtr) (IApplicationEntry ** lpApplicationEntry);
  98. private:
  99. STDMETHOD (SetPropertyGUID) (DWORD dwProperty, BSTR strGuid);
  100. STDMETHOD (GetPropertyGUID) (DWORD dwProperty, BSTR * lpstrGuid);
  101. STDMETHOD (SetPropertyDWORD) (DWORD dwProperty, long lDword);
  102. STDMETHOD (GetPropertyDWORD) (DWORD dwProperty, long * lplDword);
  103. STDMETHOD (SetPropertyWSTR) (DWORD dwProperty, BSTR strString);
  104. STDMETHOD (GetPropertyWSTR) (DWORD dwProperty, BSTR * lpstrString);
  105. BOOL m_fInitialized;
  106. IApplicationManager * m_IApplicationManager;
  107. IApplicationEntry * m_IApplicationEntry;
  108. };
  109. #endif //__APPENTRY_H_