home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 53 / IOPROG_53.ISO / soft / c++ / xceedbkp.exe / Samples / Vc6 / AddIn / BackupAddIn.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-09-02  |  2.2 KB  |  77 lines

  1. // BackupAddIn.h : Declaration of the CBackupAddIn
  2.  
  3. #ifndef __BACKUPADDIN_H_
  4. #define __BACKUPADDIN_H_
  5.  
  6. #include "resource.h"       // main symbols
  7. #include <ObjModel\addguid.h>
  8. #include <ObjModel\appguid.h>
  9. #include <ObjModel\bldguid.h>
  10. #include <ObjModel\textguid.h>
  11. #include <ObjModel\dbgguid.h>
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CBackupAddIn
  15. class ATL_NO_VTABLE CBackupAddIn : 
  16.     public CComObjectRootEx<CComSingleThreadModel>,
  17.     public CComCoClass<CBackupAddIn, &CLSID_BackupAddIn>,
  18.     public IDispatchImpl<IApplicationEvents, &IID_IApplicationEvents, &LIBID_ADDINLib>,
  19.     public IDSAddIn,
  20.     public IDispatchImpl<IBackupAddIn, &IID_IBackupAddIn, &LIBID_ADDINLib>
  21. {
  22. public:
  23.     CBackupAddIn()
  24.     {
  25.     }
  26.  
  27. DECLARE_REGISTRY_RESOURCEID(IDR_BACKUPADDIN)
  28.  
  29. DECLARE_PROTECT_FINAL_CONSTRUCT()
  30.  
  31. BEGIN_COM_MAP(CBackupAddIn)
  32.     COM_INTERFACE_ENTRY(IBackupAddIn)
  33.     COM_INTERFACE_ENTRY2(IDispatch, IBackupAddIn)
  34.     COM_INTERFACE_ENTRY(IDSAddIn)
  35.     COM_INTERFACE_ENTRY(IApplicationEvents)
  36. END_COM_MAP()
  37.  
  38.     CComPtr<IApplication> m_spApplication;
  39.     DWORD m_dwAddInID;
  40.     DWORD m_dwAppEvents;
  41.  
  42.   // Xceed
  43.  
  44.   IXceedBackupPtr m_piXceedBackup; // Main XceedBackup control instance
  45.   CBackupEvents m_xBackupEvents;   // Event Sink
  46.  
  47. // IDSAddIn methods
  48. public:
  49.     STDMETHOD(OnConnection)(IApplication* pApp, VARIANT_BOOL bFirstTime, long dwCookie, VARIANT_BOOL* bOnConnection);
  50.     STDMETHOD(OnDisconnection)(VARIANT_BOOL bLastTime);
  51.  
  52. // IApplicationEvents methods
  53. public:
  54.     STDMETHOD(BeforeBuildStart)();
  55.     STDMETHOD(BuildFinish)(long nNumErrors, long nNumWarnings);
  56.     STDMETHOD(BeforeApplicationShutDown)();
  57.     STDMETHOD(DocumentOpen)(IDispatch *pDocument);
  58.     STDMETHOD(BeforeDocumentClose)(IDispatch *pDocument);
  59.     STDMETHOD(DocumentSave)(IDispatch *pDocument);
  60.     STDMETHOD(NewDocument)(IDispatch *pDocument);
  61.     STDMETHOD(WindowActivate)(IDispatch *pWindow);
  62.     STDMETHOD(WindowDeactivate)(IDispatch *pWindow);
  63.     STDMETHOD(WorkspaceOpen)();
  64.     STDMETHOD(WorkspaceClose)();
  65.     STDMETHOD(NewWorkspace)();
  66.  
  67. // IBackupAddIn
  68. public:
  69.  
  70. // Utility methods
  71. private:
  72.   HRESULT AddWorkspaceToScheduler();
  73.   HRESULT RemoveWorkspaceFromScheduler();
  74. };
  75.  
  76. #endif //__BACKUPADDIN_H_
  77.