PLCnext API Documentation 25.0.2.69
IProgramProvider.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Plc/Commons/Esm/IProgram.hpp"
9
10namespace Arp { namespace Plc { namespace Commons { namespace Esm
11{
12
17{
18public: // construction/destruction
20 IProgramProvider(void) = default;
22 virtual ~IProgramProvider(void) = default;
23
24public: // abstract operations to override
29 virtual IProgram::Ptr CreateProgram(const String& programName, const String& programType) = 0;
30
32 virtual void Reset(void) = 0;
33
34private: // deleted method: avoid assigning and copying
35 IProgramProvider(const IProgramProvider& arg) = delete;
36 IProgramProvider& operator=(const IProgramProvider& arg) = delete;
37};
38
39}}}} // end of namespace Arp::Plc::Commons::Esm
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Interface to realizes an program provider.
Definition: IProgramProvider.hpp:17
virtual IProgram::Ptr CreateProgram(const String &programName, const String &programType)=0
Creates an instance of an program type.
IProgramProvider(void)=default
Constructs an IProgram instance.
virtual void Reset(void)=0
Resets the program provider.
virtual ~IProgramProvider(void)=default
Destructs this instance and frees all resouces.
std::shared_ptr< IProgram > Ptr
Shared pointer type of IProgram.
Definition: IProgram.hpp:22
Root namespace for the PLCnext API