PLCnext API Documentation 25.0.2.69
IIoMetaComponent.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8
9
11{
12class VariableRegistry;
13}
14
16{
17
23class ARP_EXPORT IIoMetaComponent
24{
25public: // usings
26 using Ptr = std::shared_ptr<IIoMetaComponent>;
28
29public: // canonical construction/destruction/assignment
31 IIoMetaComponent(void) = default;
33 IIoMetaComponent(const IIoMetaComponent& arg) = default;
35 IIoMetaComponent(IIoMetaComponent&& arg)noexcept = default;
39 IIoMetaComponent& operator=(IIoMetaComponent&& arg)noexcept = default;
41 virtual ~IIoMetaComponent(void) = default;
42
43public: // abstract operations
47};
48
49} // end of namespace Arp::Plc::Meta::Commons
Interface for all components providing IO related meta data
Definition: IIoMetaComponent.hpp:24
IIoMetaComponent & operator=(IIoMetaComponent &&arg) noexcept=default
Move-assignment operator.
virtual VariableRegistry & GetVariableRegistry()=0
Gets the VariableRegistry of this component to provide meta data of this IO component.
IIoMetaComponent & operator=(const IIoMetaComponent &arg)=default
Copy-assignment operator.
IIoMetaComponent(IIoMetaComponent &&arg) noexcept=default
Move constructor.
IIoMetaComponent(const IIoMetaComponent &arg)=default
Copy constructor.
virtual ~IIoMetaComponent(void)=default
Destructs this instance and frees all resources.
IIoMetaComponent(void)=default
Constructs an IIoMetaComponent instance.
This class is used to register IO variables
Definition: VariableRegistry.hpp:20
Namespace for interface types for IO variables
Namespace for interface types of the Meta component