Diffstat (limited to 'libopie2/opiecore/ofilenotify.h') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie2/opiecore/ofilenotify.h | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/libopie2/opiecore/ofilenotify.h b/libopie2/opiecore/ofilenotify.h index ea525e9..41ba84d 100644 --- a/libopie2/opiecore/ofilenotify.h +++ b/libopie2/opiecore/ofilenotify.h @@ -99,5 +99,5 @@ enum OFileNotificationType * * This class allows to watch for events happening to files. - * It uses the inotify kernel interface + * It uses the inotify linux (2.6.x) kernel interface. * * @see http://www.kernel.org/pub/linux/kernel/people/rml/inotify/ @@ -141,5 +141,5 @@ class OFileNotification : public QObject * The @a receiver is the receiving object and the @a member is the slot. **/ - static void singleShot( const QString& path, QObject* receiver, const char* member, OFileNotificationType type = Modify ); + static bool singleShot( const QString& path, QObject* receiver, const char* member, OFileNotificationType type = Modify ); /** * Starts to watch for @a type changes to @a path. Set @a sshot to True if you want to be notified only once. @@ -163,4 +163,8 @@ class OFileNotification : public QObject **/ bool isActive() const; + /** + * @internal + */ + int startWatching( const QString& path, bool sshot = false, OFileNotificationType type = Modify ); signals: @@ -168,5 +172,5 @@ class OFileNotification : public QObject * This signal is emitted if an event happens of the specified type happens to the file being watched. **/ - void triggered(); + void triggered( const QString& name ); protected: @@ -190,4 +194,36 @@ class OFileNotification : public QObject }; +/*====================================================================================== + * ODirNotification + *======================================================================================*/ + +/** + * @brief Represents a directory notification + * + * This class allows to watch for events happening to directories + * It uses the OFileNotification class + * + * @see http://www.kernel.org/pub/linux/kernel/people/rml/inotify/ + * + * @author Michael 'Mickey' Lauer <mickey@vanille.de> + * + **/ + +class ODirNotification : public QObject +{ + Q_OBJECT + + public: + ODirNotification( QObject* parent = 0, const char* name = 0 ); + ~ODirNotification(); + /** + * Starts to watch for @a type changes to @a path. Recurse @a recurse levels down the filesystem tree, + * use 0 for no recursion and -1 for unlimited recursion. + * Set @a sshot to True if you want to be notified only once. + **/ + int watch( const QString& path, bool sshot = false, OFileNotificationType type = Modify, int recurse = 0 ); +}; + + } } |