DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DAWorkFlowExecuter.h
1#ifndef DAWORKFLOWEXECUTER_H
2#define DAWORKFLOWEXECUTER_H
3#include <QObject>
4#include "DAWorkFlowAPI.h"
5#include "DAAbstractNode.h"
6
7namespace DA
8{
12class DAWORKFLOW_API DAWorkFlowExecuter : public QObject
13{
14 Q_OBJECT
15 DA_DECLARE_PRIVATE(DAWorkFlowExecuter)
16public:
17 DAWorkFlowExecuter(QObject* p = nullptr);
19 // 设置查询的开始点
20 void setStartNode(DAAbstractNode::SharedPointer n);
21 // 设置workflow
22 void setWorkFlow(DAWorkFlow* wf);
23 // 获取全局节点
24 QList< DAAbstractNode::SharedPointer > getGlobalNodes() const;
25 // 获取孤立节点
26 QList< DAAbstractNode::SharedPointer > getIsolatedNodesNodes() const;
27 // 判断是否在请求结束
28 bool isTerminateRequest() const;
29public slots:
30 // 开始执行
31 void startExecute();
32 // 请求终止
33 void terminateRequest();
34 // 单独执行某个节点
35 void executeNode(DAAbstractNode::SharedPointer n);
36private slots:
37 // 执行节点但不会执行它的输出对应的节点,这个函数用于执行全局节点
38 void executeNodeNotTransmit(DAAbstractNode::SharedPointer n);
39signals:
44 void nodeExecuteFinished(DAAbstractNode::SharedPointer n, bool state);
48 void finished(bool success);
49
50private:
51};
52
53} // end of namespace DA
54
55#endif // DAWORKFLOWEXECUTER_H
工作流任务的执行者,执者和workflow通过信号传递信息,在workflow中,执行者是在一个单独线程中
Definition DAWorkFlowExecuter.h:13
void nodeExecuteFinished(DAAbstractNode::SharedPointer n, bool state)
节点执行完成返回的结果
void finished(bool success)
完成执行发射此信号
基本的工作流,这个也是总工厂,汇总了所有插件的工厂
Definition DAWorkFlow.h:21
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44