PLCnext API Documentation 23.6.0.37
IProgramComponent.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/Plc/Commons/Esm/IProgramProvider.hpp"
9#include <memory>
10
11namespace Arp { namespace Plc { namespace Commons { namespace Esm
12{
13
18{
19public: // typedefs
21 typedef std::shared_ptr<IProgramComponent> Ptr;
22
23protected: // construction/destruction
25 IProgramComponent(void) = default;
27 virtual ~IProgramComponent(void) = default;
28
29public: // abstract IProgramComponent operations
32 virtual IProgramProvider& GetProgramProvider(bool useBackgroundDomain) = 0;
33
34private: // deleted methods
35 IProgramComponent(const IProgramComponent& arg) = delete;
36 IProgramComponent& operator=(const IProgramComponent& arg) = delete;
37};
38
40// inline methods of class IProgramComponent
41
42}}}} // end of namespace Arp::Plc::Commons::Esm
Interface to realizes an access to a plc program provider.
Definition: IProgramComponent.hpp:18
std::shared_ptr< IProgramComponent > Ptr
Shared pointer type of IProgramComponent.
Definition: IProgramComponent.hpp:21
IProgramComponent(void)=default
Constructs an IProgramComponent instance.
virtual ~IProgramComponent(void)=default
Destructs this instance and frees all resouces.
virtual IProgramProvider & GetProgramProvider(bool useBackgroundDomain)=0
Returns the program provider of this component.
Interface to realizes an program provider.
Definition: IProgramProvider.hpp:17
Root namespace for the PLCnext API