43 void processEvent(ConstFSEventStreamRef streamRef,
size_t numEvents,
char **eventPaths,
const FSEventStreamEventFlags eventFlags[],
const FSEventStreamEventId eventIds[]);
51 void doEmitFileChanged(
const QString &
path,
bool removed);
52 void doEmitDirectoryChanged(
const QString &
path,
bool removed);
68 Info(
const QString &origPath,
const timespec &ctime, mode_t
mode,
const QString &watchedPath)
72 , watchedPath(watchedPath)
75 typedef QHash<QString, Info> InfoByName;
76 typedef QHash<QString, InfoByName> FilesByPath;
81 typedef QHash<QString, DirInfo> DirsByName;
82 typedef QHash<QString, qint64> PathRefCounts;
84 struct WatchingState {
92 FilesByPath watchedFiles;
93 DirsByName watchedDirectories;
94 PathRefCounts watchedPaths;
99 void stopStream(
bool isStopped =
false);
101 bool derefPath(
const QString &watchedPath);
104 bool rescanFiles(InfoByName &filesInPath);
108 dispatch_queue_t queue;
110 FSEventStreamEventId lastReceivedEvent;
111 WatchingState watchingState;