6#include <QtCore/QByteArray>
10#include <imtbase/ICollectionInfo.h>
11#include <imtbase/IReferenceCollection.h>
23 class IMessageConsumer;
32class IJobSchedulerParams;
43 typedef iprm::IParamsSetSharedPtr ParamsPtr;
99 struct JobStatusInfo:
public NotifierInfo
103 static const QByteArray CN_JOB_STATUS_CHANGED;
105 struct JobProgressInfo :
public NotifierInfo
109 static const QByteArray CN_JOB_PROGRESS_CHANGED;
111 typedef NotifierInfo JobResultInfo;
112 static const QByteArray CN_JOB_RESULT_CHANGED;
144 const QByteArray& contextId,
145 const QByteArray& taskTypeId,
146 const iprm::IParamsSet* defaultParamPtr)
const = 0;
160 const QByteArray& contextId,
161 const QByteArray& typeId,
163 const iprm::IParamsSet* jobProcessingParamsPtr,
165 ilog::IMessageConsumer* logPtr =
nullptr) = 0;
194 const QByteArray& jobId,
195 ParamsPtr& processingParamsPtr,
216 virtual bool SetProgress(
const QByteArray& jobId,
double progress) = 0;
237Q_DECLARE_METATYPE(imthype::IJobQueueManager::JobStatusInfo);
238Q_DECLARE_METATYPE(imthype::IJobQueueManager::JobProgressInfo);
virtual bool GetJobResult(const QByteArray &jobId, IJobOutput &result) const =0
virtual ProcessingStatus GetProcessingStatus(const QByteArray &jobId) const =0
virtual const iprm::IOptionsList * GetSupportedTasks() const =0
virtual iprm::IParamsSetUniquePtr CreateJobParameters(const QByteArray &contextId, const QByteArray &taskTypeId, const iprm::IParamsSet *defaultParamPtr) const =0
virtual bool GetJobConfiguration(const QByteArray &jobId, ParamsPtr &processingParamsPtr, imtbase::IReferenceCollection &input) const =0
virtual bool SetProcessingStatus(const QByteArray &jobId, ProcessingStatus status)=0
virtual QByteArray GetTaskTypeId(const QByteArray &jobId) const =0
virtual bool SetProgress(const QByteArray &jobId, double progress)=0
@ PS_WAITING_FOR_ACCEPTING
@ PS_WAITING_FOR_PROCESSING
virtual bool ResumeJob(const QByteArray &jobId)=0
virtual bool SetJobResult(const QByteArray &jobId, const IJobOutput &result)=0
virtual bool CancelJob(const QByteArray &jobId)=0
virtual double GetProgress(const QByteArray &jobId) const =0
virtual bool RemoveJob(const QByteArray &jobId)=0
virtual QByteArray InsertNewJobIntoQueue(const QByteArray &contextId, const QByteArray &typeId, const imtbase::IReferenceCollection &input, const iprm::IParamsSet *jobProcessingParamsPtr, const IJobSchedulerParams *schedulerParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr)=0