addWatchTargetListRecursive(3)

addWatchTargetListRecursive3

增加需要监听的文件列表

Usage

#include <libkyfilewatcher.hpp>

Classes

class KYSDK_FILEWATCHER::FileWatcher

Functions

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

Link with -lkyfilewatcher.

Detailed Description

The main function of the interface is to add a list of files that need to be monitored.

The argument urlList is a list of file paths.

The argument type is the file watcher type,which is an enumeration type. The content is as follows:

enum FileWatcherType{
ONESHOT = 0, // 仅报送一次事件。请注意事件发生后,监听符号会从监听列表中移除,下次再用需要重新add
PERIODIC,
NEVER
};

The argument attr is the file watcher attribute,which is an enumeration type. The content is as follows:

enum 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
};

The argument maxdepth is the maximum depth specified for traversal search.

The argument recurType is the recursive type,which is an enumeration type. The content is as follows:

enum RecursiveType{
DIR = 1 << 0,
REGULAR = 1 << 1,
HIDDEN = 1 << 2,
TMPFILE = 1 << 3, //认为那些以~开头的是临时文件
ALLFILE = HIDDEN | TMPFILE | DIR | REGULAR
};

Return value

Examples

#include <QCoreApplication>
#include <QDebug>
#include "libkyfilewatcher.hpp"
using namespace KYSDK_FILEWATCHER;
int main(int argc, char *argv[])
{
    KYSDK_FILEWATCHER::FileWatcher watcher;
    watcher.addWatchTargetRecursive("/home/kylin/", PERIODIC, ALL, 3, REGULAR);
    getchar();
//    qDebug() << "update attr test";
//    watcher.updateWatchTargetAttribute("/data/testcode/test.c", DELETE);
//    getchar();
//    qDebug() << "re-add test";
//    watcher.addWatchTarget("/data/testcode/test.c", PERIODIC, ALL);
//    getchar();
//    qDebug() << "update oneshot test";
//    watcher.updateWatchTargetType("/data/testcode/test.c", ONESHOT);
//    getchar();
//    qDebug() << "remove target test";
//    watcher.removeWatchTarget("/data/testcode/test.c");
//    getchar();
    watcher.clearWatchList();
    return 0;
}

Conforming to

These functions are as per the withdrawn POSIX.1e draft specification. The following functions are Linux extensions: addWatchTargetRecursive(), removeWatchTargetRecursive(), clearWatchList(), pauseWatcher() and restartWatcher().

From libkysdk-system 3.0.1.4-1 in Arch Linux 2026-11-07. Parsed by carta from the page's man source.