4#ifndef QFILESYSTEMWATCHER_FSEVENTS_P_H
5#define QFILESYSTEMWATCHER_FSEVENTS_P_H
20#include <QtCore/qhash.h>
21#include <QtCore/qmutex.h>
22#include <QtCore/qsocketnotifier.h>
23#include <QtCore/qthread.h>
25#include <dispatch/dispatch.h>
26#include <CoreServices/CoreServices.h>
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);
72 , watchedPath(watchedPath)
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;
void processEvent(ConstFSEventStreamRef streamRef, size_t numEvents, char **eventPaths, const FSEventStreamEventFlags eventFlags[], const FSEventStreamEventId eventIds[])
QStringList removePaths(const QStringList &paths, QStringList *files, QStringList *directories)
void emitDirectoryChanged(const QString &path, bool removed)
QStringList addPaths(const QStringList &paths, QStringList *files, QStringList *directories)
void scheduleStreamRestart()
~QFseventsFileSystemWatcherEngine()
void emitFileChanged(const QString &path, bool removed)
QObject * parent() const
Returns a pointer to the parent object.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QSet< QString >::iterator it
Combined button and popup list for selecting options.
GLsizei const GLuint * paths
GLsizei const GLchar *const * path
#define QT_REQUIRE_CONFIG(feature)