123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef __PHOTOBACKUPMGR_H__
- #define __PHOTOBACKUPMGR_H__
- #include "Lock.h"
- class CCatalogObj;
- class CDatabase;
- class CSC_BackupFactory;
- interface ISC_BackupInterface;
- class CPhotoBackupMgr
- {
- CPhotoBackupMgr();
- public:
- ~CPhotoBackupMgr();
- static CPhotoBackupMgr* GetInstance()
- {
- static CPhotoBackupMgr obj;
- return &obj;
- }
- // 1.初始化数据库连接串;
- BOOL InitCatalog(
- IN CONST DWORD &dwCatalogPort,
- IN LPCTSTR lpCatalogSource,
- IN LPCTSTR lpCatalogAccount,
- IN LPCTSTR lpCatalogPsw,
- IN LPCTSTR lpCatalogName);
- void StartBackup(); //启动备份线程
- void TransformBackupModel(IN CONST INT nModel);
- void StartIncrementalBackup(); //增量备份
- void TerminateIncrementalBak(DWORD dwMilliseconds = INFINITE); //结束增量备份
- void StartAutoBackup(); //自动备份
- void TerminateAutoBak(DWORD dwMilliseconds = INFINITE); //结束备份
- BOOL BakAllPhoto(CString dir, CString desdir);
- BOOL BakAllPhoto(CString dir, CString desdir, CString path1, CString path2, CString path3, CString path4);
- void IncrementWork();
- void AutoBakWork();
- //备份完成回调
- static int WINAPI BackupCallBack(IN LPVOID lpParam1, IN LPVOID lpParam2, IN LPVOID lpParam3, IN LPVOID lpParam4, IN LPVOID lpParam5, IN LPVOID lpParam6);
- int BackupCallBackPro(IN LPVOID lpParam1, IN LPVOID lpParam2, IN LPVOID lpParam3, IN LPVOID lpParam4, IN LPVOID lpParam5, IN LPVOID lpParam6);
- HANDLE GetIncrementalEvent(){return m_hIncrementalEvent;}
- int LoadBakModule(IN HINSTANCE hInstance); //加载备份模块
- void FreeBakModule(); //释放备份接口
- BOOL GetBackupOfSaveDir(OUT CArray<CStringArray, CStringArray> &AryOfValues);
- DWORD GetLastDirTime(IN const CString& dir);
- void TerminateBakThread();
- void MakeBackupDir(IN CONST int nType, IN CONST CString& str, OUT CString& strPath);
- private:
- int m_nBackupModel; // 备份模式
- HANDLE m_hIncrementalThread;
- HANDLE m_hIncrementalEvent; // 增量备份退出
- HANDLE m_hAutoThread;
- HANDLE m_hAutoEvent; // 自动备份退出
- CArray<CStringArray, CStringArray> m_bakDirArr; // 备份保存的目录:version表读取
- CCatalogObj* m_pCCatalogObj;
- CLock m_lock;
- CDatabase* m_pdb;
- ISC_BackupInterface* m_BakInterf; // 备份接口类
- CSC_BackupFactory* m_BakFact; // 工厂类
- };
- #endif //#ifndef __PHOTOBACKUPMGR_H__
|