dtkio
dtk library for dtkio.
载入中...
搜索中...
未找到
dfilefuture.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DFILEFUTURE_H
6#define DFILEFUTURE_H
7
8#include <QObject>
9#include <QScopedPointer>
10
11#include "dtkio_global.h"
12#include "dtkiotypes.h"
13#include "dfileerror.h"
14
15DIO_BEGIN_NAMESPACE
16class DFuturePrivate;
17class DFileFuture : public QObject
18{
19 Q_OBJECT
20 Q_DISABLE_COPY(DFileFuture)
21public:
22 explicit DFileFuture(QObject *parent = nullptr);
23 virtual ~DFileFuture() override;
24
25 // TODO: add control interfaces
26
28 bool hasError() const;
29 void setError(IOErrorCode error);
30
31Q_SIGNALS:
32 void finished();
33 // TODO: refactor follow signals
34 // TODO: void progressChanged(qint64 current, qint64 total);
35 void fileAttributeRequired(AttributeID id, const QVariant &value);
36 void fileAttributeRequired(const QByteArray &key, const QVariant &value);
37 void fileExistsStateRequired(const bool exists);
38 void filePermissionsRequired(const Permissions permissions);
39 void fileSizeRequired(const quint64 &size);
40 void dataReaded(const QByteArray &data);
41 void dataWrited(const qint64 &size);
42
43private:
44 QScopedPointer<DFuturePrivate> d;
45};
46DIO_END_NAMESPACE
47
48#endif // DFILEFUTURE_H
处理文件异步操作的结果
Definition dfilefuture.h:18
DFileFuture(QObject *parent=nullptr)
构造函数
void setError(IOErrorCode error)
设置错误码
void fileAttributeRequired(const QByteArray &key, const QVariant &value)
文件异步属性变化的信号
void fileAttributeRequired(AttributeID id, const QVariant &value)
文件异步属性变化的信号
void fileExistsStateRequired(const bool exists)
异步判断文件是否存在的状态信号
void finished()
文件异步操作结束的信号
bool hasError() const
检查异步操作是否出错
IOErrorCode error() const
获取异步操作的错误码
void fileSizeRequired(const quint64 &size)
文件大小异步被改变的信号
void filePermissionsRequired(const Permissions permissions)
文件权限异步改变的信号
void dataWrited(const qint64 &size)
数据异步写入完成的信号
void dataReaded(const QByteArray &data)
数据异步读写完成的信号
IOErrorCode
文件IO相关错误码
Definition dfileerror.h:15
AttributeID
文件属性(ID)
Definition dtkiotypes.h:47