DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAAbstractArchiveTask.h
1#ifndef DAABSTRACTARCHIVETASK_H
2#define DAABSTRACTARCHIVETASK_H
3#include "DAGuiAPI.h"
4#include <QObject>
5#include <functional>
6namespace DA
7{
8class DAAbstractArchive;
17class DAGUI_API DAAbstractArchiveTask : std::enable_shared_from_this< DAAbstractArchiveTask >
18{
19public:
20 using FpLoadedCallBack = std::function< void(std::shared_ptr< DAAbstractArchiveTask >) >;
21public:
25 enum Mode
26 {
27 ReadMode,
28 WriteMode
29 };
31 virtual ~DAAbstractArchiveTask();
32
78 virtual bool exec(DAAbstractArchive* archive, Mode mode) = 0;
79
86 int getCode() const;
87
94 void setCode(int code);
95
96 // 任务名称
97 QString getName() const;
98 void setName(const QString& name);
99
100 // 任务描述
101 QString getDescribe() const;
102 void setDescribe(const QString& describe);
103
104 void setLoadedCallBack(const FpLoadedCallBack& callBack);
105 FpLoadedCallBack getLoadedCallBack() const;
106private:
107 int mCode { 0 };
108 QString mName;
109 QString mDescribe;
110 FpLoadedCallBack mLoadedCallBack;
111};
112} // end DA
113Q_DECLARE_METATYPE(DA::DAAbstractArchiveTask::Mode)
114Q_DECLARE_METATYPE(std::shared_ptr< DA::DAAbstractArchiveTask >)
115#endif // DAABSTRACTARCHIVETASK_H
针对
Definition DAAbstractArchiveTask.h:18
virtual bool exec(DAAbstractArchive *archive, Mode mode)=0
执行任务
Mode
模式用来区分读写
Definition DAAbstractArchiveTask.h:26
持久化的基类
Definition DAAbstractArchive.h:16
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44