ImagingTools Core SDK
TParamsSetPluginComponentImpl.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/TBasePluginComponentImpl.h>
7#include <imtbase/IParamsSetPlugin.h>
8
9
10namespace imtbase
11{
12
13
17template <class ComponentClass>
18class TParamsSetPluginComponentImpl: public TBasePluginComponentImpl<ComponentClass, IParamsSetPlugin>
19{
20public:
21 typedef TBasePluginComponentImpl<ComponentClass, IParamsSetPlugin> BaseClass;
22
23 TParamsSetPluginComponentImpl(const QString& pluginName, const QByteArray& typeId);
24
25 // reimplemented (imtbase::IParamsSetPlugin)
26 virtual const IParamsSetPlugin::IParamsSetFactory* GetParamsSetFactory() const override;
27 virtual const IParamsSetPlugin::IRepresentationControllerFactory* GetRepresentationControllerFactory() const override;
28};
29
30
31// public methods
32template <class ComponentClass>
33TParamsSetPluginComponentImpl<ComponentClass>::TParamsSetPluginComponentImpl(const QString& pluginName, const QByteArray& typeId)
34 :BaseClass(pluginName, typeId)
35{
36}
37
38
39// reimplemented (imtbase::IParamsSetPlugin)
40
41template <class ComponentClass>
42const IParamsSetPlugin::IParamsSetFactory* TParamsSetPluginComponentImpl<ComponentClass>::GetParamsSetFactory() const
43{
44 return BaseClass::m_component.template GetInterface<IParamsSetPlugin::IParamsSetFactory>(QByteArray());
45}
46
47
48template <class ComponentClass>
49const IParamsSetPlugin::IRepresentationControllerFactory* TParamsSetPluginComponentImpl<ComponentClass>::GetRepresentationControllerFactory() const
50{
51 return BaseClass::m_component.template GetInterface<IParamsSetPlugin::IRepresentationControllerFactory>(QByteArray());
52}
53
54
55} // namespace imtbase
56
57