ImagingTools Core SDK
CInspectionReportSimulatorComp.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 <icomp/CComponentBase.h>
7
8// ImtCore includes
9#include <imtreport/IReportDocument.h>
10#include <imtreport/IInspectionReportBuilder.h>
11
12
13namespace imtreport
14{
15
16
17class CInspectionReportSimulatorComp : public icomp::CComponentBase
18{
19public:
20 typedef icomp::CComponentBase BaseClass;
21
22 I_BEGIN_COMPONENT(CInspectionReportSimulatorComp);
23 I_ASSIGN(m_reportDocumentCompPtr, "ReportDocument", "Report document", true, "ReportDocument");
24 I_ASSIGN(m_inspectionReportBuilderCompPtr, "InspectionReportBuilder", "Inspection report builder", true, "InspectionReportBuilder");
25 I_END_COMPONENT;
26
27protected:
28 // reimplemented (icomp::CComponentBase)
29 virtual void OnComponentCreated() override;
30
31private:
32 void PrepareReportInputData(IInspectionReportBuilder::ReportInputData& reportData) const;
33
34private:
35 I_REF(imtreport::IReportDocument, m_reportDocumentCompPtr);
36 I_REF(imtreport::IInspectionReportBuilder, m_inspectionReportBuilderCompPtr);
37};
38
39
40} // namespace imtreport
41
42