home *** CD-ROM | disk | FTP | other *** search
- // BackupAddIn.h : Declaration of the CBackupAddIn
-
- #ifndef __BACKUPADDIN_H_
- #define __BACKUPADDIN_H_
-
- #include "resource.h" // main symbols
- #include <ObjModel\addguid.h>
- #include <ObjModel\appguid.h>
- #include <ObjModel\bldguid.h>
- #include <ObjModel\textguid.h>
- #include <ObjModel\dbgguid.h>
-
- /////////////////////////////////////////////////////////////////////////////
- // CBackupAddIn
- class ATL_NO_VTABLE CBackupAddIn :
- public CComObjectRootEx<CComSingleThreadModel>,
- public CComCoClass<CBackupAddIn, &CLSID_BackupAddIn>,
- public IDispatchImpl<IApplicationEvents, &IID_IApplicationEvents, &LIBID_ADDINLib>,
- public IDSAddIn,
- public IDispatchImpl<IBackupAddIn, &IID_IBackupAddIn, &LIBID_ADDINLib>
- {
- public:
- CBackupAddIn()
- {
- }
-
- DECLARE_REGISTRY_RESOURCEID(IDR_BACKUPADDIN)
-
- DECLARE_PROTECT_FINAL_CONSTRUCT()
-
- BEGIN_COM_MAP(CBackupAddIn)
- COM_INTERFACE_ENTRY(IBackupAddIn)
- COM_INTERFACE_ENTRY2(IDispatch, IBackupAddIn)
- COM_INTERFACE_ENTRY(IDSAddIn)
- COM_INTERFACE_ENTRY(IApplicationEvents)
- END_COM_MAP()
-
- CComPtr<IApplication> m_spApplication;
- DWORD m_dwAddInID;
- DWORD m_dwAppEvents;
-
- // Xceed
-
- IXceedBackupPtr m_piXceedBackup; // Main XceedBackup control instance
- CBackupEvents m_xBackupEvents; // Event Sink
-
- // IDSAddIn methods
- public:
- STDMETHOD(OnConnection)(IApplication* pApp, VARIANT_BOOL bFirstTime, long dwCookie, VARIANT_BOOL* bOnConnection);
- STDMETHOD(OnDisconnection)(VARIANT_BOOL bLastTime);
-
- // IApplicationEvents methods
- public:
- STDMETHOD(BeforeBuildStart)();
- STDMETHOD(BuildFinish)(long nNumErrors, long nNumWarnings);
- STDMETHOD(BeforeApplicationShutDown)();
- STDMETHOD(DocumentOpen)(IDispatch *pDocument);
- STDMETHOD(BeforeDocumentClose)(IDispatch *pDocument);
- STDMETHOD(DocumentSave)(IDispatch *pDocument);
- STDMETHOD(NewDocument)(IDispatch *pDocument);
- STDMETHOD(WindowActivate)(IDispatch *pWindow);
- STDMETHOD(WindowDeactivate)(IDispatch *pWindow);
- STDMETHOD(WorkspaceOpen)();
- STDMETHOD(WorkspaceClose)();
- STDMETHOD(NewWorkspace)();
-
- // IBackupAddIn
- public:
-
- // Utility methods
- private:
- HRESULT AddWorkspaceToScheduler();
- HRESULT RemoveWorkspaceFromScheduler();
- };
-
- #endif //__BACKUPADDIN_H_
-