ImagingTools Core SDK
IJobController.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <iprm/IParamsSet.h>
7
8
9namespace imthype
10{
11
12
13class IJobController : virtual public istd::IPolymorphic
14{
15public:
16 enum RequestStatus
17 {
18 RS_INVALID_JOB_ID,
19 RS_SUCCESS,
20 RS_FAILED
21 };
22
23 enum JobStatus
24 {
25 JS_INVALID_JOB_ID,
26 JS_IN_PROGRESS,
27 JS_CANCELLATION,
28 JS_CANCELLED,
29 JS_COMPLETED,
30 JS_FAILED
31 };
32
36 virtual JobStatus GetJobStatus(const QByteArray& jobId) const = 0;
37
41 virtual RequestStatus BeginJob(const QByteArray& jobId, const iprm::IParamsSet* jobParams) = 0;
42
46 virtual RequestStatus CancelJob(const QByteArray& jobId) = 0;
47
52 virtual RequestStatus RemoveJob(const QByteArray& jobId) = 0;
53
57 virtual istd::IChangeableUniquePtr GetJobResult(const QByteArray& jobId) const = 0;
58};
59
60
61} // namespace imthype
62
63