8#include "Arp/System/Core/event.hxx"
9#include "Arp/Plc/Commons/Esm/IProgramProvider.hpp"
12namespace Arp {
namespace Plc {
namespace Commons {
namespace Esm
18 using Programs = std::map<String, IProgram::Ptr>;
21 using ProgramTypes = std::map<String, String>;
38 Programs& GetPrograms(
void);
39 const Programs& GetPrograms(
void)
const;
42 bool RemoveProgram(
IProgram& program);
46 void Reset(
void)
override;
57 ProgramTypes programTypes;
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Use this class to register and invoke several delegates (function pointer in OOP design).
Definition: event.hxx:32
Interface to realizes an program provider.
Definition: IProgramProvider.hpp:17
Interface to implement PLC program to be executed in realtime context.
Definition: IProgram.hpp:19
std::shared_ptr< IProgram > Ptr
Shared pointer type of IProgram.
Definition: IProgram.hpp:22
Definition: ProgramProviderBase.hpp:16
~ProgramProviderBase(void)=default
Destructs this instance and frees all resources.
IProgram::Ptr CreateProgram(const String &programName, const String &programType) override
Creates an instance of an program type.
Definition: ProgramProviderBase.cpp:12
ProgramProviderBase(const ProgramProviderBase &arg)=default
Copy constructor.
ProgramProviderBase(void)=default
Constructs an ProgramProviderBase instance.
ProgramProviderBase & operator=(const ProgramProviderBase &arg)=default
Assignment operator.
void Reset(void) override
Resets the program provider.
Definition: ProgramProviderBase.cpp:56
Root namespace for the PLCnext API