ImagingTools Core SDK
IJobOutput.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 <imtbase/IReferenceCollection.h>
7
8// Acula includes
9#include <imthype/IProcessingInfo.h>
10#include <imthype/IJobExecutionLog.h>
11
12// ACF includes
13#include <ilog/IMessageContainer.h>
14
15
16namespace imthype
17{
18
19
24class IJobOutput: virtual public IProcessingInfo, virtual public imtbase::IReferenceCollection
25{
26public:
31 {
36
42 };
43
45
49 virtual void SetProcessingReport(
50 const ilog::IMessageContainer& processingLog,
51 const QDateTime& startTime,
52 const QDateTime& finishTime) = 0;
53
57 virtual ProcessingOutputType GetOutputType(const QByteArray& outputObjectId) const = 0;
58
62 virtual void SetOutputType(const QByteArray& outputObjectId, ProcessingOutputType outputType) = 0;
63
68 virtual const IJobExecutionLog* GetExecutionLog() const = 0;
69
74 virtual void SetExecutionLog(const IJobExecutionLog& executionLog) = 0;
75
80 virtual const ilog::IMessageContainer* GetProcessorLog() const = 0;
81
86 virtual void SetProcessorLog(const ilog::IMessageContainer& processorLog) = 0;
87};
88
89
90typedef istd::TUniqueInterfacePtr<IJobOutput> IJobOutputUniquePtr;
91typedef istd::TSharedInterfacePtr<IJobOutput> IJobOutputSharedPtr;
92
93
94} // namespace imthype
95
96
virtual void SetProcessorLog(const ilog::IMessageContainer &processorLog)=0
virtual const IJobExecutionLog * GetExecutionLog() const =0
virtual ProcessingOutputType GetOutputType(const QByteArray &outputObjectId) const =0
virtual void SetExecutionLog(const IJobExecutionLog &executionLog)=0
virtual const ilog::IMessageContainer * GetProcessorLog() const =0
virtual void SetOutputType(const QByteArray &outputObjectId, ProcessingOutputType outputType)=0
virtual void SetProcessingReport(const ilog::IMessageContainer &processingLog, const QDateTime &startTime, const QDateTime &finishTime)=0