libkyfilewatcher(3)

NAME
libkyfilewatcher - File management functionality

SYNOPSIS
#include <libkyfilewatcher.hpp>

DESCRIPTION

This library provides file management interfaces and classes.

CLASSES

KYSDK_FILEWATCHER::FileWatcher

    File management class. Mainly used to add file paths that need to be monitored, add file lists that need to be monitored, remove specified files from the monitoring list, clear the monitoring list, pause file monitoring, and resume file monitoring.

ENUMERATIONS

FileWatcherType

    ONESHOT = 0
    PERIODIC
    NEVER

FileWatcherAttribute

    ACCESS = IN_ACCESS
    CREATE = IN_CREATE
    MODIFY = IN_MODIFY
    DELETE = IN_DELETE | IN_DELETE_SELF
    ATTRIB = IN_ATTRIB
    MOVE = IN_MOVE | IN_MOVE_SELF
    OPEN = IN_OPEN
    CLOSE = IN_CLOSE
    ALL = IN_ALL_EVENTS

RecursiveType

    DIR = 1 << 0
    REGULAR = 1 << 1
    HIDDEN = 1 << 2
    TMPFILE = 1 << 3
    ALLFILE = HIDDEN | TMPFILE | DIR | REGULAR

MEMBER FUNCTIONS

QStringList addWatchTargetRecursive (QString url, FileWatcherType type = PERIODIC, int attr = OPEN|CLOSE|MODIFY|DELETE, int maxdepth = 5, int recurType = DIR|REGULAR)

    Add a file path that needs to be monitored. For directories, recursive monitoring of subdirectories is enabled by default.

    Parameters:

        url File path

        type
            File monitoring type

        attr
            File monitoring attributes

        maxdepth
            Specify the maximum depth for traversal search

        recurType
            Recursive type

    Return value:

        QStringList
            List of successfully added monitoring target paths

QStringList addWatchTargetListRecursive (QStringList urlList, FileWatcherType type = PERIODIC, int attr = OPEN|CLOSE|MODIFY|DELETE, int maxdepth = 5, int recurType = DIR|REGULAR)

    Add a list of files that need to be monitored.

    Parameters:

        urlList
            List of files to be monitored

        type
            File monitoring type

        attr
            File monitoring attributes

        maxdepth
            Specify the maximum depth for traversal search

        recurType
            Recursive type

    Return value:

        QStringList
            List of successfully added monitoring target paths

QStringList removeWatchTargetRecursive (QString url, int maxdepth = 5, int recurType = ALLFILE)

    Remove the specified file from the monitoring list.

    Parameters:

        url Path of the specified file

        maxdepth
            Specify the maximum depth for traversal search

        recurType
            Recursive type

    Return value:

        QStringList
            List of successfully removed monitoring target paths

void clearWatchList ()

    Clear the monitoring list.

void pauseWatcher ()

    Pause file monitoring.

void restartWatcher ()

    Resume file monitoring.

EXAMPLE USAGE

#include <libkyfilewatcher.hpp>
#include <QCoreApplication>
#include <QDebug>
using namespace KYSDK_FILEWATCHER;
int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);

    FileWatcher watcher;

    // Add directory monitoring
    QStringList paths = watcher.addWatchTargetRecursive(
        "/home/user/documents",
        PERIODIC,
        MODIFY | DELETE,
        3
    );

    // Pause and resume monitoring
    watcher.pauseWatcher();
    // ... perform some operations
    watcher.restartWatcher();

    return 0;
}

AUTHOR
Generated automatically by Doxygen for libkyfilewatcher.hpp from the source code.

SEE ALSO
inotify(7), QFileSystemWatcher(3qt5), libkyfilewatcher(3)