36 lines
671 B
C
36 lines
671 B
C
|
|
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
// PatchWatcher<65><72> <20>״<EFBFBD><D7B4><EFBFBD> <20><><EFBFBD>̽<EFBFBD>Ŭ<EFBFBD><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ŀ<EFBFBD> Ȯ<><C8AE><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD> <20>ֵ<EFBFBD><D6B5><EFBFBD> <20>Ѵ<EFBFBD>.
|
|||
|
|
|
|||
|
|
struct _WATCH_SPEC
|
|||
|
|
{
|
|||
|
|
int nNID;
|
|||
|
|
WCHAR wszType[64];
|
|||
|
|
ULONG nInsertTick;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct _WATCH_OBJECT
|
|||
|
|
{
|
|||
|
|
int nVersionID;
|
|||
|
|
std::list <_WATCH_SPEC> SpecList;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
class CWatcherBase
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
CWatcherBase();
|
|||
|
|
~CWatcherBase();
|
|||
|
|
|
|||
|
|
virtual bool AddWatchSpec(int nVersionID, int nNID, const WCHAR * pType);
|
|||
|
|
virtual bool DelWatchSpec(int nVersionID, int nNID, const WCHAR * pType, bool &bComplete);
|
|||
|
|
virtual bool HasWatchingSpec();
|
|||
|
|
|
|||
|
|
virtual void DelWatchSpec(int nNID);
|
|||
|
|
virtual void ClearWatchingSpec();
|
|||
|
|
|
|||
|
|
protected:
|
|||
|
|
std::list <_WATCH_OBJECT> m_WatchList;
|
|||
|
|
CSyncLock m_Sync;
|
|||
|
|
};
|