You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.3 KiB
C++
77 lines
2.3 KiB
C++
/**
|
|
*
|
|
* @file FITKProgramTaskManager.h
|
|
* @brief 第三方程序执行任务管理器
|
|
* @author libaojun (libaojunqd@Foxmail.com)
|
|
* @date 2024-06-09
|
|
*
|
|
*/
|
|
#ifndef __FITK_PROGRAMTASK_MANAGER_H___
|
|
#define __FITK_PROGRAMTASK_MANAGER_H___
|
|
|
|
#include "FITKAppFrameworkAPI.h"
|
|
#include "FITK_Kernel/FITKCore/FITKAbstractDataManager.hpp"
|
|
#include "FITK_Kernel/FITKAppFramework/FITKAbstractProgramDriver.h"
|
|
|
|
namespace AppFrame
|
|
{
|
|
class FITKProgramInputInfo;
|
|
/**
|
|
* @brief 第三方程序执行任务管理器
|
|
* @author libaojun (libaojunqd@Foxmail.com)
|
|
* @date 2024-06-09
|
|
*/
|
|
class FITKAppFrameworkAPI FITKProgramTaskManeger
|
|
: public Core::FITKAbstractDataManager<FITKAbstractProgramerDriver>
|
|
{
|
|
public:
|
|
/**
|
|
* @brief Construct a new FITKProgramTaskManeger object
|
|
* @author libaojun (libaojunqd@Foxmail.com)
|
|
* @date 2024-06-09
|
|
*/
|
|
explicit FITKProgramTaskManeger() = default;
|
|
/**
|
|
* @brief Destroy the FITKProgramTaskManeger object
|
|
* @author libaojun (libaojunqd@Foxmail.com)
|
|
* @date 2024-06-09
|
|
*/
|
|
virtual ~FITKProgramTaskManeger() = default;
|
|
|
|
/**
|
|
* @brief 启动程序
|
|
* @param type 程序类型
|
|
* @param programName 程序名称
|
|
* @param info 程序输入信息
|
|
* @author libaojun (libaojunqd@Foxmail.com)
|
|
* @date 2024-06-09
|
|
*/
|
|
void startProgram(const int type, const QString& programName, FITKProgramInputInfo* info);
|
|
|
|
/**
|
|
* @brief 创建第三方程序驱动器 返回值不需要主动销毁由第三方程序执行任务管理器统一管理
|
|
* @param type 程序类型
|
|
* @param programName 程序名称
|
|
* @param info 程序输入信息
|
|
* @author fulipeng (fulipengqd@yeah.net)
|
|
* @date 2024-06-29
|
|
*/
|
|
FITKAbstractProgramerDriver* createProgram(const int type, const QString& programName, FITKProgramInputInfo* info);
|
|
|
|
/**
|
|
* @brief 启动程序
|
|
* @param type 程序类型
|
|
* @param programName 程序名称
|
|
* @param info 程序输入信息
|
|
* @author libaojun (libaojunqd@Foxmail.com)
|
|
* @date 2024-06-09
|
|
*/
|
|
void killAll();
|
|
|
|
|
|
};
|
|
}
|
|
|
|
|
|
#endif
|