8 #include "Arp/System/Acf/ComponentBase.hpp"
9 #include "Arp/System/Acf/IApplication.hpp"
10 #include "Arp/Plc/Commons/Esm/IProgramComponent.hpp"
11 #include "Arp/Plc/Commons/Esm/ProgramProviderBase.hpp"
12 #include "Arp/Plc/Commons/Meta/IMetaComponent.hpp"
13 #include "Arp/Plc/Commons/Meta/DataInfoProvider.hpp"
15 namespace Arp {
namespace Plc {
namespace Commons {
namespace Esm
31 void Initialize(
void);
32 void SetupConfig(
void);
33 void ResetConfig(
void);
38 IDataNavigator* GetDataNavigator(
void)
override;
41 virtual void RegisterComponentPorts(
void);
67 return this->programProvider;
74 return useBackgroundDomain ? this->dataInfoProvider.GetBackgroundProvider() : this->dataInfoProvider;
Interface to realizes an access to a plc program provider.
Definition: IProgramComponent.hpp:18
Interface to realizes an program provider.
Definition: IProgramProvider.hpp:17
std::shared_ptr< IProgram > Ptr
Shared pointer type of IProgram.
Definition: IProgram.hpp:22
Definition: ProgramComponentBase.hpp:23
ProgramComponentBase(const char *libraryNamespace, ProgramProviderBase &programProvider)
Constructs an ProgramComponentBase instance.
IDataInfoProvider & GetDataInfoProvider(bool useBackgroundDomain) override
Gets the IDataInfoProvider of this component.
Definition: ProgramComponentBase.hpp:72
~ProgramComponentBase(void)=default
Destructs this instance and frees all resources.
IProgramProvider & GetProgramProvider(bool useBackgroundDomain) override
Returns the program provider of this component.
Definition: ProgramComponentBase.hpp:65
IDataNavigator * GetDataNavigator(void) override
Gets the specialized IDataNavigator of this component.
Definition: ProgramComponentBase.hpp:77
Definition: ProgramProviderBase.hpp:16
This is the namespace of the Application Component Framework.
Definition: ComponentBase.hpp:13
Root namespace for the PLCnext API