// Backup.h : Declaration of the CBackup #ifndef __BACKUP_H_ #define __BACKUP_H_ #include "resource.h" // main symbols #include "ActionEngine.h" #include "BackupActions.h" #include "../common/interfaces.h" #include ///////////////////////////////////////////////////////////////////////////// // CBackup class ATL_NO_VTABLE CBackup : public CComObjectRootEx, public CComCoClass, public ISupportErrorInfo, public IDispatchImpl, public IObjectWithSiteImpl, public ISpecifyPropertyPagesImplEx { public: CBackup() { } ~CBackup() { ATLTRACE(_T("Destroying Backup\n")); } DECLARE_REGISTRY_RESOURCEID(IDR_BACKUP) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CBackup) COM_INTERFACE_ENTRY(ISecureShutdownWin) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ISupportErrorInfo) COM_INTERFACE_ENTRY(IObjectWithSite) COM_INTERFACE_ENTRY(ISpecifyPropertyPages) END_COM_MAP() // Custom version of normal property Map Mechanism (atlextra.h) virtual ATL_PROPMAP_ENTRY* GetPropertyMap(); // ISupportsErrorInfo STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); // ISecureShutdownWin public: STDMETHOD(get_Info)(/*[in]*/ NightSecInfo nsItem, /*[out, retval]*/ VARIANT* pvVal); STDMETHOD(DoShutdown)(/*[in]*/ long hParent, /*[in]*/ long lMode); STDMETHOD(SetData)(/*[in]*/ IUnknown* pUnk); protected: CActionEngine m_Engine; // The Engine CPropertyBag m_Data; // Standard Data Object // UINT LoadPaths(); // string_array m_srcPaths; // file_path m_destPath; }; #endif //__BACKUP_H_