📄 pcdmsyncstore.h
字号:
//
// File:
// =====
// PCDMSyncStore.h: Header file
//
// Description:
// ============
// This class Implements the IReplStore interface. Keeps an
// array of ptrs to your folder objects.
//
#pragma once
#define PCDMSYNC_NUM_FOLDERS 1
class CBaseFolder;
class CPCDMSyncStore: public IReplStore
{
protected:
long m_cRef;
BOOL m_fInitialized;
IReplNotify *m_pNotify;
CBaseFolder *m_pFolders[PCDMSYNC_NUM_FOLDERS];
private:
static const LPTSTR m_pszCLSID;
static const LPTSTR m_pszProgId;
static const LPTSTR m_pszDesc;
public:
static const LPTSTR GetCLSID(){ return m_pszCLSID;}
static const LPTSTR GetProgId(){ return m_pszProgId;}
static const LPTSTR GetDesc(){ return m_pszDesc;}
private:
~CPCDMSyncStore();
public:
CPCDMSyncStore();
CBaseFolder* GetFolderByName(LPTSTR szName);
//========= IUnknown methods ==========//
STDMETHODIMP QueryInterface(const IID& iid, void **ppvObject);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//========= IReplStore methods ==========//
STDMETHODIMP Initialize(IReplNotify *, UINT uFlags);
STDMETHODIMP GetStoreInfo(PSTOREINFO pStoreInfo);
STDMETHODIMP ReportStatus(HREPLFLD hFolder, HREPLITEM hItem, UINT uStatus, UINT uReserved);
STDMETHODIMP_(int) CompareStoreIDs(LPBYTE lpbID1, UINT cbID1, LPBYTE lpbID2, UINT cbID2);
// ============ Object related routines ===========//
STDMETHODIMP_(int) CompareItem(HREPLITEM hItem1, HREPLITEM hItem2);
STDMETHODIMP_(BOOL) IsItemChanged(HREPLFLD hFolder, HREPLITEM hItem, HREPLITEM hItemComp);
STDMETHODIMP_(BOOL) IsItemReplicated(HREPLFLD hFolder, HREPLITEM hItem);
STDMETHODIMP_(void) UpdateItem(HREPLFLD hFolder, HREPLITEM hItemDst, HREPLITEM hItemSrc);
// ============ Folder related routines ===========//
STDMETHODIMP GetFolderInfo(LPSTR lpszName, HREPLFLD *phFolder, IUnknown **ppObjHandler);
STDMETHODIMP IsFolderChanged(HREPLFLD hFolder, BOOL *pfChanged);
// ============ Enumeration of folder objects =======//
STDMETHODIMP FindFirstItem(HREPLFLD hFolder, HREPLITEM *phItem, BOOL *pfExist);
STDMETHODIMP FindNextItem(HREPLFLD hFolder, HREPLITEM *phItem, BOOL *pfExist);
STDMETHODIMP FindItemClose(HREPLFLD hFolder);
// ============ Standard management routines ===========//
STDMETHODIMP_(UINT) ObjectToBytes(HREPLOBJ hObject, LPBYTE lpb);
STDMETHODIMP_(HREPLOBJ) BytesToObject(LPBYTE lpb, UINT cb);
STDMETHODIMP_(void) FreeObject(HREPLOBJ hObject);
STDMETHODIMP_(BOOL) CopyObject(HREPLOBJ hObjSrc, HREPLOBJ hObjDst);
STDMETHODIMP IsValidObject(HREPLFLD hFolder, HREPLITEM hObject, UINT uFlags);
// ============ UI related routines ================//
STDMETHODIMP ActivateDialog(UINT uDlg, HWND hWnd, HREPLFLD hFolder, IEnumReplItem *penum);
STDMETHODIMP GetObjTypeUIData(HREPLFLD hFolder, POBJUIDATA pData);
STDMETHODIMP GetConflictInfo(PCONFINFO pConfInfo);
STDMETHODIMP RemoveDuplicates(LPSTR lpszObjType, UINT uFlags);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -