ImagingTools Core SDK
TConnectionCollectionPluginComponentImpl.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 <imtservice/IConnectionCollectionPlugin.h>
8
9
10namespace imtservice
11{
12
13
17template <class ComponentClass>
19 public imtbase::TBasePluginComponentImpl<ComponentClass, IConnectionCollectionPlugin>
20{
21public:
22 typedef imtbase::TBasePluginComponentImpl<ComponentClass, IConnectionCollectionPlugin> BaseClass;
23
24 TConnectionCollectionPluginComponentImpl(const QString& pluginName, const QByteArray& typeId);
25
26 // reimplemented (IConnectionCollectionPlugin)
27 virtual const IConnectionCollectionPlugin::IConnectionCollectionFactory* GetConnectionCollectionFactory() const override;
28};
29
30
31// public methods
32template <class ComponentClass>
34 :BaseClass(pluginName, typeId)
35{
36}
37
38
39// reimplemented (imtbase::IParamsSetPlugin)
40
41template <class ComponentClass>
42const IConnectionCollectionPlugin::IConnectionCollectionFactory* TConnectionCollectionPluginComponentImpl<ComponentClass>::GetConnectionCollectionFactory() const
43{
44 return BaseClass::m_component.template GetInterface<IConnectionCollectionPlugin::IConnectionCollectionFactory>(QByteArray());
45}
46
47
48} // namespace imtservice
49
50