ImagingTools Core SDK
CDelegatedCommandsProviderComp.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 <ibase/ICommandsProvider.h>
8#include <iqtgui/CHierarchicalCommand.h>
9
10
11namespace imtgui
12{
13
14
15class CDelegatedCommandsProviderComp:
16 public icomp::CComponentBase,
17 virtual public ibase::ICommandsProvider
18{
19public:
20 typedef icomp::CComponentBase BaseClass;
21
22 I_BEGIN_COMPONENT(CDelegatedCommandsProviderComp);
23 I_REGISTER_INTERFACE(ibase::ICommandsProvider);
24 I_ASSIGN(m_slaveCommandsProviderCompPtr, "SlaveCommandsProvider", "Slave provider of commands", false, "SlaveCommandsProvider");
25 I_END_COMPONENT
26
27 // reimplemented (ibase::ICommandsProvider)
28 virtual const ibase::IHierarchicalCommand* GetCommands() const override;
29
30private:
31 I_REF(ibase::ICommandsProvider, m_slaveCommandsProviderCompPtr);
32};
33
34
35} // namespace imtgui
36
37