dtkio
dtk library for dtkio.
载入中...
搜索中...
未找到
dfilemonitor.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DFILEMONITOR_H
6#define DFILEMONITOR_H
7
8#include <QObject>
9#include <QUrl>
10#include <QScopedPointer>
11
12#include <DError>
13#include <DExpected>
14
15#include "dtkio_global.h"
16#include "dtkiotypes.h"
17
18DIO_BEGIN_NAMESPACE
19class DFileMonitorPrivate;
20class DFileMonitor : public QObject
21{
22 Q_OBJECT
23public:
24 explicit DFileMonitor(const QUrl &url, QObject *parent = nullptr);
25 virtual ~DFileMonitor() override;
26
27 DTK_CORE_NAMESPACE::DExpected<QUrl> url() const;
28 DTK_CORE_NAMESPACE::DExpected<void> setTimeRate(quint32 msec);
29 DTK_CORE_NAMESPACE::DExpected<quint32> timeRate() const;
30 DTK_CORE_NAMESPACE::DExpected<void> setWatchType(WatchType type);
31 DTK_CORE_NAMESPACE::DExpected<WatchType> watchType() const;
32
33 DTK_CORE_NAMESPACE::DExpected<bool> running() const;
34 DTK_CORE_NAMESPACE::DExpected<bool> start();
35 DTK_CORE_NAMESPACE::DExpected<bool> start(quint32 timeRate = 200);
36
37 bool stop();
38
39 DTK_CORE_NAMESPACE::DError lastError() const;
40
41Q_SIGNALS:
42 void fileChanged(const QUrl &url);
43 void fileDeleted(const QUrl &url);
44 void fileAdded(const QUrl &url);
45 void fileRenamed(const QUrl &fromUrl, const QUrl &toUrl);
46
47private:
48 QScopedPointer<DFileMonitorPrivate> d;
49};
50DIO_END_NAMESPACE
51
52#endif // DFILEMONITOR_H
提供文件的监听操作
Definition dfilemonitor.h:21
void fileChanged(const QUrl &url)
监听的文件数据被改变
DTK_CORE_NAMESPACE::DExpected< quint32 > timeRate() const
获取当前轮询间隔
DTK_CORE_NAMESPACE::DExpected< bool > running() const
获取当前监听状态(是否监听了文件)
bool stop()
停止监听
DTK_CORE_NAMESPACE::DExpected< bool > start()
开始以设置的轮询间隔监听文件变化
DTK_CORE_NAMESPACE::DExpected< void > setTimeRate(quint32 msec)
设置轮询间隔
void fileDeleted(const QUrl &url)
监听的文件被删除
DFileMonitor(const QUrl &url, QObject *parent=nullptr)
构造函数, 通过 文件url 构造一个新的 DFileMonitor对象
DTK_CORE_NAMESPACE::DExpected< void > setWatchType(WatchType type)
设置监听类型
void fileRenamed(const QUrl &fromUrl, const QUrl &toUrl)
监听的文件被重命名(当前目录)
DTK_CORE_NAMESPACE::DExpected< WatchType > watchType() const
获取监听类型
DTK_CORE_NAMESPACE::DError lastError() const
获取当前文件操作的错误码
void fileAdded(const QUrl &url)
监听的文件下有新增的文件
DTK_CORE_NAMESPACE::DExpected< bool > start(quint32 timeRate=200)
开始以输入的轮询间隔监听文件变化
DTK_CORE_NAMESPACE::DExpected< QUrl > url() const
获取当前监听文件的url
WatchType
监听器类型
Definition dtkiotypes.h:237