23 #ifndef _UTILS_SYSTEM_FAM_H_
24 #define _UTILS_SYSTEM_FAM_H_
26 #include <core/utils/lock_list.h>
27 #include <sys/types.h>
67 virtual void fam_event(
const char *filename,
unsigned int mask) = 0;
95 size_t inotify_bufsize_;
97 std::map<int, std::string> inotify_watches_;
98 std::map<int, std::string>::iterator inotify_wit_;
File Alteration Monitor Listener.
static const unsigned int FAM_MASK_ADD
Add to the mask of an already existing watch.
static const unsigned int FAM_MOVE_SELF
Self was moved.
static const unsigned int FAM_CLOSE_NOWRITE
Unwrittable file closed.
static const unsigned int FAM_MOVED_TO
File was moved to Y.
static const unsigned int FAM_ACCESS
File was accessed.
static const unsigned int FAM_DELETE_SELF
Self was deleted.
static const unsigned int FAM_MODIFY
File was modified.
static const unsigned int FAM_CLOSE_WRITE
Writtable file was closed.
static const unsigned int FAM_ONLYDIR
Only watch the path if it is a directory.
static const unsigned int FAM_ATTRIB
Metadata changed.
static const unsigned int FAM_UNMOUNT
Backing fs was unmounted.
static const unsigned int FAM_DONT_FOLLOW
Do not follow a sym link.
virtual void fam_event(const char *filename, unsigned int mask)=0
Event has been raised.
static const unsigned int FAM_DELETE
Subfile was deleted.
static const unsigned int FAM_MOVE
Moves.
virtual ~FamListener()
Virtual empty destructor.
static const unsigned int FAM_Q_OVERFLOW
Event queued overflowed.
static const unsigned int FAM_CLOSE
Close.
static const unsigned int FAM_IGNORED
File was ignored.
static const unsigned int FAM_ISDIR
Event occurred against dir.
static const unsigned int FAM_ONESHOT
Only send event once.
static const unsigned int FAM_OPEN
File was opened.
static const unsigned int FAM_ALL_EVENTS
All events which a program can wait on.
static const unsigned int FAM_MOVED_FROM
File was moved from X.
static const unsigned int FAM_CREATE
Subfile was created.
Monitors files for changes.
void watch_file(const char *filepath)
Watch a file.
void process_events(int timeout=0)
Process events.
FileAlterationMonitor()
Constructor.
~FileAlterationMonitor()
Destructor.
void watch_dir(const char *dirpath)
Watch a directory.
void reset()
Remove all currently active watches.
void add_filter(const char *regex)
Add a filter.
void remove_listener(FamListener *listener)
Remove a listener.
void interrupt()
Interrupt a running process_events().
void add_listener(FamListener *listener)
Add a listener.
Fawkes library namespace.