diff options
author | Daniel Molkentin <danimo@owncloud.com> | 2014-07-11 02:31:24 +0400 |
---|---|---|
committer | Daniel Molkentin <danimo@owncloud.com> | 2014-07-11 13:07:31 +0400 |
commit | df3c3bca025a7cdb5f20e55fc2ecc37618e7cc8d (patch) | |
tree | 22fa58b5a09ec9f93ad376dce2edd6272483fc1a /src/gui/folderwatcher_linux.h | |
parent | d1b991e1984ef0c4ed803c5c5ead1ce3bfe00266 (diff) |
Split into three separate projects: library, gui and cmd
Diffstat (limited to 'src/gui/folderwatcher_linux.h')
-rw-r--r-- | src/gui/folderwatcher_linux.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/gui/folderwatcher_linux.h b/src/gui/folderwatcher_linux.h new file mode 100644 index 000000000..0a8d23110 --- /dev/null +++ b/src/gui/folderwatcher_linux.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) by Klaas Freitag <freitag@owncloud.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ + +#ifndef MIRALL_FOLDERWATCHER_LINUX_H +#define MIRALL_FOLDERWATCHER_LINUX_H + +#include <QObject> +#include <QString> +#include <QSocketNotifier> +#include <QHash> +#include <QDir> + +#include "folderwatcher.h" + +namespace Mirall +{ +class FolderWatcherPrivate : public QObject +{ + Q_OBJECT +public: + FolderWatcherPrivate() { } + FolderWatcherPrivate(FolderWatcher *p, const QString &path); + ~FolderWatcherPrivate(); + + void addPath(const QString &path); + void removePath(const QString &); + +protected slots: + void slotReceivedNotification(int fd); + void slotAddFolderRecursive(const QString &path); + +protected: + bool findFoldersBelow( const QDir& dir, QStringList& fullList ); + void inotifyRegisterPath(const QString& path); + +private: + FolderWatcher *_parent; + + QString _folder; + QHash <int, QString> _watches; + QScopedPointer<QSocketNotifier> _socket; + int _fd; +}; + +} + +#endif |