ImagingTools Core SDK
CJobTicketComp.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#include <iprm/IParamsSet.h>
8
9// ImtCore includes
10#include <imthype/CJobTicket.h>
11
12
13namespace imthype
14{
15
16
17class CJobTicketComp:
18 public icomp::CComponentBase,
19 public CJobTicket
20{
21public:
22 typedef icomp::CComponentBase BaseClass;
23 typedef CJobTicket BaseClass2;
24
25 I_BEGIN_COMPONENT(CJobTicketComp);
26 I_REGISTER_INTERFACE(IJobTicket);
27 I_REGISTER_INTERFACE(iser::ISerializable);
28 I_REGISTER_INTERFACE(istd::IChangeable);
29 I_ASSIGN(m_jobParamsFactPtr, "JobParamsFactory", "Factory used for creation of job params instance", true, "JobParamsFactory");
30 I_END_COMPONENT;
31
32protected:
33 // reimplemented (icomp::CComponentBase)
34 virtual void OnComponentCreated() override;
35 virtual void OnComponentDestroyed() override;
36
37private:
38 I_FACT(iprm::IParamsSet, m_jobParamsFactPtr);
39};
40
41
42} // namespace imthype
43
44