6#include <imod/TModelWrap.h>
9#include <imtbase/CSimpleReferenceCollection.h>
12#include <imthype/IJobOutput.h>
13#include <imthype/CProcessingInfo.h>
14#include <imthype/CJobExecutionLog.h>
17#include <ilog/CMessageContainer.h>
24class CStandardJobOutput:
virtual public IJobOutput
27 typedef CProcessingInfo BaseClass;
33 void SetJobName(
const QString& jobName);
38 void SetStartTime(
const QDateTime& startTime);
43 void SetFinishedTime(
const QDateTime& finishedTime);
48 void SetResultCategory(istd::IInformationProvider::InformationCategory resultCategory);
52 ProcessingInfo GetProcessingInfo()
const override;
53 const ilog::IMessageContainer& GetProcessingLog()
const override;
56 virtual ICollectionObjectLinkPtr GetObjectLink(
const Id& objectId,
const QByteArray& repositoryId = QByteArray())
const override;
57 bool InsertReference(
const Id& objectId,
const QByteArray& repositoryId = QByteArray())
override;
58 bool RemoveReference(
const Id& objectId)
override;
59 bool RemoveAllReferences()
override;
62 virtual const iprm::IOptionsList* GetObjectTypesInfo()
const override;
63 virtual QByteArray GetObjectTypeId(
const Id& objectId)
const override;
64 virtual idoc::MetaInfoPtr GetDataMetaInfo(
const Id& objectId)
const override;
67 virtual int GetElementsCount(
68 const iprm::IParamsSet* selectionParamPtr =
nullptr,
69 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
70 virtual Ids GetElementIds(
73 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
74 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
76 ICollectionInfo& subsetInfo,
79 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
80 ilog::IMessageConsumer* logPtr =
nullptr)
const override;
81 virtual QVariant GetElementInfo(
const Id& elementId,
int infoType, ilog::IMessageConsumer* logPtr =
nullptr)
const override;
82 virtual idoc::MetaInfoPtr GetElementMetaInfo(
const Id& elementId, ilog::IMessageConsumer* logPtr =
nullptr)
const override;
83 virtual bool SetElementName(
const Id& elementId,
const QString& name, ilog::IMessageConsumer* logPtr =
nullptr)
override;
84 virtual bool SetElementDescription(
const Id& elementId,
const QString& description, ilog::IMessageConsumer* logPtr =
nullptr)
override;
85 virtual bool SetElementEnabled(
const Id& elementId,
bool isEnabled =
true, ilog::IMessageConsumer* logPtr =
nullptr)
override;
88 virtual void SetProcessingReport(
89 const ilog::IMessageContainer& processingLog,
90 const QDateTime& startTime,
91 const QDateTime& finishTime)
override;
93 virtual void SetOutputType(
const QByteArray & outputObjectId,
ProcessingOutputType outputType)
override;
94 virtual const IJobExecutionLog* GetExecutionLog()
const override;
95 virtual void SetExecutionLog(
const IJobExecutionLog& executionLog)
override;
96 virtual const ilog::IMessageContainer* GetProcessorLog()
const override;
97 virtual void SetProcessorLog(
const ilog::IMessageContainer& processorLog)
override;
100 virtual QDateTime GetInformationTimeStamp()
const override;
101 virtual InformationCategory GetInformationCategory()
const override;
102 virtual int GetInformationId()
const override;
103 virtual QString GetInformationDescription()
const override;
104 virtual QString GetInformationSource()
const override;
105 virtual int GetInformationFlags()
const override;
108 virtual bool Serialize(iser::IArchive& archive)
override;
111 virtual bool CopyFrom(
const istd::IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
112 virtual bool IsEqual(
const istd::IChangeable&
object)
const override;
113 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
114 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
119 typedef QMap<QByteArray, ProcessingOutputType> ProcessingOutputTypeMap;
120 ProcessingOutputTypeMap m_outputTypeMap;
122 CProcessingInfo m_processingInfo;
126 CJobExecutionLog m_executionLog;
127 ilog::CMessageContainer m_processorLog;
virtual bool GetSubsetInfo(ICollectionInfo &subsetInfo, int offset=0, int count=-1, const iprm::IParamsSet *selectionParamsPtr=nullptr, ilog::IMessageConsumer *logPtr=nullptr) const =0