forked from metin2/server
31 lines
859 B
C++
31 lines
859 B
C++
#ifndef IFILEMONITOR_INCLUDED
|
|
#define IFILEMONITOR_INCLUDED
|
|
|
|
//#include <boost/function.hpp>
|
|
#include <unordered_map>
|
|
|
|
enum eFileUpdatedOptions
|
|
{
|
|
e_FileUpdate_None = -1,
|
|
e_FileUpdate_Error,
|
|
e_FileUpdate_Deleted,
|
|
e_FileUpdate_Modified,
|
|
e_FileUpdate_AttrModified,
|
|
e_FileUpdate_Linked,
|
|
e_FileUpdate_Renamed,
|
|
e_FileUpdate_Revoked,
|
|
};
|
|
|
|
// TODO : in FreeBSD boost function doesn`t work with boost bind
|
|
// so currently we only support for static function ptr only
|
|
//typedef boost::function< void ( const std::string&, eFileUpdatedOptions ) > PFN_FileChangeListener;
|
|
typedef void (* PFN_FileChangeListener )(const std::string&, eFileUpdatedOptions);
|
|
|
|
struct IFileMonitor
|
|
{
|
|
virtual void Update (DWORD dwPulses) = 0;
|
|
virtual void AddWatch (const std::string& strFileName, PFN_FileChangeListener pListenerFunc) = 0;
|
|
};
|
|
|
|
#endif // IFILEMONITOR_INCLUDED
|