125 lines
5.8 KiB
C++
125 lines
5.8 KiB
C++
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// AppManager.h
|
|
//
|
|
// Copyright (C) 1998, 1999 Microsoft Corporation. All rights reserved.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __APPENTRY_H_
|
|
#define __APPENTRY_H_
|
|
|
|
#include "resource.h"
|
|
#include "AppMan.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
class ATL_NO_VTABLE CAppEntry :
|
|
public CComObjectRootEx<CComSingleThreadModel>,
|
|
public CComCoClass<CAppEntry, &CLSID_AppEntry>,
|
|
public IDispatchImpl<IAppEntry, &IID_IAppEntry, &LIBID_APPMANDISPATCHLib>
|
|
{
|
|
public:
|
|
|
|
CAppEntry(void);
|
|
virtual ~CAppEntry(void);
|
|
|
|
DECLARE_REGISTRY_RESOURCEID(IDR_APPENTRY)
|
|
|
|
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
|
|
BEGIN_COM_MAP(CAppEntry)
|
|
COM_INTERFACE_ENTRY(IAppEntry)
|
|
COM_INTERFACE_ENTRY(IDispatch)
|
|
END_COM_MAP()
|
|
|
|
STDMETHOD (get_NonRemovableKilobytes) (/*[out, retval]*/ long *pVal);
|
|
STDMETHOD (put_NonRemovableKilobytes) (/*[in]*/ long newVal);
|
|
STDMETHOD (get_RemovableKilobytes) (/*[out, retval]*/ long *pVal);
|
|
STDMETHOD (put_RemovableKilobytes) (/*[in]*/ long newVal);
|
|
STDMETHOD (EnumTemporarySpaceAllocations) (/*[in]*/ long lTempSpaceIndex, /*[out, retval]*/ long * lTempSpaceKilobytes);
|
|
STDMETHOD (EnumTemporarySpacePaths) (/*[in]*/ long lTempSpaceIndex, /*[out, retval]*/ BSTR * strRootPath);
|
|
STDMETHOD (RemoveTemporarySpace) (/*[in]*/ BSTR strRootPath);
|
|
STDMETHOD (GetTemporarySpace) (/*[in]*/ long lKilobytesRequired, /*[out, retval]*/ BSTR * strRootPath);
|
|
STDMETHOD (EnumAssociationObjects) (/*[in]*/ long lAssociationIndex, /*[in]*/ IAppEntry * lpAppEntry);
|
|
STDMETHOD (EnumAssociationTypes) (/*[in]*/ long lAssociationIndex, /*[out, retval]*/ long * lpAssociationType);
|
|
STDMETHOD (RemoveAssociation) (/*[in]*/ long lAssociationType, /*[in]*/ IAppEntry * lpAppEntry);
|
|
STDMETHOD (AddAssociation) (/*[in]*/ long AssociationType, /*[in]*/ IAppEntry * lpAppEntry);
|
|
STDMETHOD (Run) (/*[in]*/ long lRunFlags, /*[in]*/ BSTR newVal);
|
|
STDMETHOD (Abort) (void);
|
|
STDMETHOD (FinalizeSelfTest) (void);
|
|
STDMETHOD (InitializeSelfTest) (void);
|
|
STDMETHOD (FinalizeUnInstall) (void);
|
|
STDMETHOD (InitializeUnInstall) (void);
|
|
STDMETHOD (FinalizeReInstall) (void);
|
|
STDMETHOD (InitializeReInstall) (void);
|
|
STDMETHOD (FinalizeDownsize) (void);
|
|
STDMETHOD (InitializeDownsize) (void);
|
|
STDMETHOD (FinalizeInstall) (void);
|
|
STDMETHOD (InitializeInstall) (void);
|
|
STDMETHOD (Clear) (void);
|
|
STDMETHOD (get_XMLInfoFile) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_XMLInfoFile) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_PublisherURL) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_PublisherURL) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_DeveloperURL) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_DeveloperURL) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_TitleURL) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_TitleURL) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_SelfTestCmdLine) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_SelfTestCmdLine) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_UnInstallCmdLine) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_UnInstallCmdLine) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_ReInstallCmdLine) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_ReInstallCmdLine) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_DownsizeCmdLine) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_DownsizeCmdLine) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_DefaultSetupExeCmdLine) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_DefaultSetupExeCmdLine) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_ExecuteCmdLine) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_ExecuteCmdLine) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_EstimatedInstallKilobytes) (/*[out, retval]*/ long *pVal);
|
|
STDMETHOD (put_EstimatedInstallKilobytes) (/*[in]*/ long newVal);
|
|
STDMETHOD (get_ApplicationRootPath) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_ApplicationRootPath) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_SetupRootPath) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (get_State) (/*[out, retval]*/ long *pVal);
|
|
STDMETHOD (put_State) (/*[in]*/ long newVal);
|
|
STDMETHOD (get_Category) (/*[out, retval]*/ long *pVal);
|
|
STDMETHOD (put_Category) (/*[in]*/ long newVal);
|
|
STDMETHOD (get_InstallDate) (/*[out, retval]*/ DATE *pVal);
|
|
STDMETHOD (get_LastUsedDate) (/*[out, retval]*/ DATE *pVal);
|
|
STDMETHOD (get_VersionString) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_VersionString) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_Signature) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_Signature) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_CompanyName) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_CompanyName) (/*[in]*/ BSTR newVal);
|
|
STDMETHOD (get_Guid) (/*[out, retval]*/ BSTR *pVal);
|
|
STDMETHOD (put_Guid) (/*[in]*/ BSTR newVal);
|
|
|
|
//
|
|
// These methods are not part of the interface
|
|
//
|
|
|
|
STDMETHOD (Initialize) (void);
|
|
STDMETHOD (GetApplicationEntryPtr) (IApplicationEntry ** lpApplicationEntry);
|
|
|
|
private:
|
|
|
|
STDMETHOD (SetPropertyGUID) (DWORD dwProperty, BSTR strGuid);
|
|
STDMETHOD (GetPropertyGUID) (DWORD dwProperty, BSTR * lpstrGuid);
|
|
STDMETHOD (SetPropertyDWORD) (DWORD dwProperty, long lDword);
|
|
STDMETHOD (GetPropertyDWORD) (DWORD dwProperty, long * lplDword);
|
|
STDMETHOD (SetPropertyWSTR) (DWORD dwProperty, BSTR strString);
|
|
STDMETHOD (GetPropertyWSTR) (DWORD dwProperty, BSTR * lpstrString);
|
|
|
|
BOOL m_fInitialized;
|
|
IApplicationManager * m_IApplicationManager;
|
|
IApplicationEntry * m_IApplicationEntry;
|
|
};
|
|
|
|
#endif //__APPENTRY_H_
|