26#ifndef FSW_FSEVENT_MONITOR_H
27# define FSW_FSEVENT_MONITOR_H
30# include <CoreServices/CoreServices.h>
92 std::unique_ptr<Impl> pImpl;
94 static void fsevents_callback(ConstFSEventStreamRef streamRef,
95 void *clientCallBackInfo,
98 const FSEventStreamEventFlags eventFlags[],
99 const FSEventStreamEventId eventIds[]);
102 static CFArrayRef copy_cf_paths(
const std::vector<std::string>&
paths);
103 void create_stream(CFArrayRef pathsToWatch);
Definition fsevents_monitor.cpp:40
fsevents_monitor(std::vector< std::string > paths, FSW_EVENT_CALLBACK *callback, void *context=nullptr)
Constructs an instance of this class.
void on_stop() override
Execute an implementation-specific stop handler.
Definition fsevents_monitor.cpp:189
void run() override
Executes the monitor loop.
Definition fsevents_monitor.cpp:115
static constexpr const char * DARWIN_EVENTSTREAM_NO_DEFER
Custom monitor property used to enable the kFSEventStreamCreateFlagNoDefer flag in the event stream.
Definition fsevents_monitor.hpp:63
std::vector< std::string > paths
List of paths to watch.
Definition monitor.hpp:527
void * context
Pointer to context data that will be passed to the monitor::callback.
Definition monitor.hpp:547
FSW_EVENT_CALLBACK * callback
Callback to which change events should be notified.
Definition monitor.hpp:542
monitor(std::vector< std::string > paths, FSW_EVENT_CALLBACK *callback, void *context=nullptr)
Constructs a monitor watching the specified paths.
Definition monitor.cpp:50
Header of the fsw::monitor class.
Main namespace of libfswatch.
Definition event.cpp:24
void FSW_EVENT_CALLBACK(const std::vector< event > &, void *)
Function definition of an event callback.
Definition monitor.hpp:57