7#ifndef ARP_USE_ARP_SYSTEM_ACF_COMMONS
8#include "Arp/Base/Acf/Commons/IComponentFactory.hpp"
15#include "Arp/System/Acf/IApplication.hpp"
16#include "Arp/System/Acf/IComponent.hpp"
18namespace Arp {
namespace System {
namespace Acf
25class IComponentFactory
This interface is used by the Acf to create components dynamically through configuration (....
Definition: IComponentFactory.hpp:20
IComponentFactory & operator=(IComponentFactory &&arg) noexcept=default
The move assignment operator.
virtual ~IComponentFactory(void)=default
The virtual default destructor.
IComponentFactory(void)=default
The default constructor.
virtual bool HasComponentType(const String &typeName)=0
Determines if this factory provides components of the given type-name.
virtual IComponent::Ptr CreateComponent(const String &typeName, const String &componentName)=0
Creates a component of the given type-name.
std::shared_ptr< IComponent > Ptr
The pointer type of this interface.
Definition: IComponent.hpp:83
This is the namespace of the Application Component Framework.
Definition: ComponentBase.hpp:72
Root namespace for the PLCnext API