ImagingTools Core SDK
CJobStatus.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// ImtCore includes
6#include <imthype/IJobStatus.h>
7
8// ACF includes
9#include <iser/ISerializable.h>
10
11
12namespace imthype
13{
14
15
19class CJobStatus: virtual public IJobStatus, virtual public iser::ISerializable
20{
21public:
22 CJobStatus();
23 explicit CJobStatus(const QByteArray& jobId);
24
25 // reimplemented (imthype::IJobStatus)
26 virtual IJobQueueManager::ProcessingStatus GetProcessingStatus() const override;
27 virtual void SetProcessingStatus(IJobQueueManager::ProcessingStatus status) override;
28 virtual double GetProgress() const override;
29 virtual void SetProgress(double progress) override;
30
31 // reimplemented (iser::ISerializable)
32 virtual bool Serialize(iser::IArchive& archive) override;
33
34 // reimplemented (istd::IChangeable)
35 virtual int GetSupportedOperations() const override;
36 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
37 virtual bool IsEqual(const IChangeable& object) const override;
38 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode) const override;
39 virtual bool ResetData(CompatibilityMode mode) override;
40
41private:
42 QByteArray m_jobId;
43 IJobQueueManager::ProcessingStatus m_processingStatus;
44 double m_progress;
45};
46
47
48typedef istd::TSharedInterfacePtr<CJobStatus> CJobStatusSharedPtr;
49
50
51} // namespace imthype
52
53