55 lines
861 B
C++
55 lines
861 B
C++
#ifndef _CACHEDIR_HXX_
|
|
#define _CACHEDIR_HXX_
|
|
|
|
//
|
|
// Size of buffer for ReadDirectoryChangesW
|
|
//
|
|
|
|
#define DIRMON_BUFFER_SIZE 4096
|
|
|
|
//
|
|
// Number of times to try and get dir change notification
|
|
//
|
|
|
|
#define MAX_NOTIFICATION_FAILURES 3
|
|
|
|
class CacheDirMonitorEntry : public CDirMonitorEntry
|
|
{
|
|
public:
|
|
|
|
CacheDirMonitorEntry()
|
|
: _cNotificationFailures( 0 )
|
|
{
|
|
}
|
|
|
|
~CacheDirMonitorEntry()
|
|
{
|
|
}
|
|
|
|
BOOL
|
|
Init(
|
|
VOID
|
|
)
|
|
{
|
|
return CDirMonitorEntry::Init( DIRMON_BUFFER_SIZE );
|
|
}
|
|
|
|
private:
|
|
DWORD _cNotificationFailures;
|
|
|
|
BOOL
|
|
ActOnNotification(
|
|
DWORD dwStatus,
|
|
DWORD dwBytesWritten
|
|
);
|
|
|
|
VOID
|
|
FileChanged(
|
|
const WCHAR * pszScriptName,
|
|
BOOL bDoFlush
|
|
);
|
|
|
|
};
|
|
|
|
#endif
|