ImagingTools Core SDK
CGroupProviderComp.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 <imtbase/CStaticObjectCollection.h>
10
11
12namespace imtloggui
13{
14
15
16class CGroupProviderComp:
17 public icomp::CComponentBase,
19{
20public:
21 typedef icomp::CComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CGroupProviderComp)
24 I_REGISTER_INTERFACE(imtbase::IObjectCollection);
25 I_ASSIGN_MULTI_0(m_idAttrPtr, "GroupIds", "Group ids", false);
26 I_ASSIGN_MULTI_0(m_nameAttrPtr, "GroupNames", "Group names", false);
27 I_ASSIGN_MULTI_0(m_groupCompPtr, "Groups", "Groups", false);
28 I_END_COMPONENT
29
30protected:
31 // reimplemented (icomp::CComponentBase)
32 virtual void OnComponentCreated() override;
33
34private:
35 I_MULTIATTR(QByteArray, m_idAttrPtr);
36 I_MULTIATTR(QString, m_nameAttrPtr);
37 I_MULTIREF(imtbase::IObjectCollection, m_groupCompPtr);
38};
39
40
41} // namespace imtloggui
42
43