ImagingTools Core SDK
CJobTicket.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// Acula includes
6#include <imthype/IJobTicket.h>
7#include <imthype/CStandardJobOutput.h>
8
9// ImtCore includes
10#include <imtbase/TIdentifiableWrap.h>
11
12
13namespace imthype
14{
15
16
17class CJobTicket: virtual public IJobTicket
18{
19public:
20 CJobTicket();
21
22 // reimplemented (imthype::IJobTicket)
23 virtual QByteArray GetTypeId() const override;
24 virtual void SetTypeId(const QByteArray& typeId) override;
25 virtual QByteArray GetUuid() const override;
26 virtual void SetUuid(const QByteArray& uuid) override;
27 virtual QString GetJobName() const override;
28 virtual void SetJobName(const QString& name) override;
29 virtual QByteArray GetContextId() const override;
30 virtual void SetContextId(const QByteArray& contextId) override;
31 virtual iprm::IParamsSetSharedPtr GetParams() const override;
32 virtual iprm::IParamsSetSharedPtr CreateParams() const override;
33 virtual void SetParams(const iprm::IParamsSetSharedPtr& paramsPtr) override;
34 virtual imthype::IJobQueueManager::ProcessingStatus GetProcessingStatus() const override;
35 virtual void SetProcessingStatus(imthype::IJobQueueManager::ProcessingStatus status) override;
36 virtual double GetProgress() const override;
37 virtual void SetProgress(double progress) override;
38 virtual const imthype::IJobOutput* GetResults() const override;
39 virtual void SetResults(const imthype::IJobOutput& results) override;
40 virtual const imtbase::IReferenceCollection* GetInput() const override;
41 virtual void SetInput(const imtbase::IReferenceCollection& input) override;
42
43 virtual void SetParamsFactory(const ParamsFactoryFunction& factory) override;
44
45 // reimplemented (iser::ISerializable)
46 virtual bool Serialize(iser::IArchive& archive) override;
47
48 // reimplemented (istd::IChangeable)
49 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
50
51private:
52 QByteArray m_typeId;
53 QByteArray m_uuid;
54 QString m_name;
55 QByteArray m_contextId;
56 double m_progress;
58 CStandardJobOutput m_results;
60 iprm::IParamsSetSharedPtr m_paramsPtr;
61 ParamsFactoryFunction m_paramsFactory;
62};
63
64typedef imtbase::TIdentifiableWrap<CJobTicket> CIdentifiableJobInfo;
65
66
67} // namespace imthype
68
69