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.
AppFlow/FITK_Kernel/FITKAppFramework/FITKProgramTaskManager.h

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