PLCnext API Documentation 25.0.2.69
IChangeNavigator.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Plc/Commons/Meta/DataTag.hpp"
9
10namespace Arp { namespace Plc { namespace Commons { namespace Meta
11{
12
17{
18public: // usings
20 using Ptr = std::shared_ptr<IChangeNavigator>;
21
22protected: // construction/destruction
24 IChangeNavigator(void) = default;
26 virtual ~IChangeNavigator(void) = default;
27
28public: // abstract operations
29
33 virtual bool ChangeReference(const DataTag& dataTag) = 0;
34
38 virtual bool ChangePointer(const DataTag& dataTag) = 0;
39
40private: // deleted methods (for non-copyable classes)
41 IChangeNavigator(const IChangeNavigator& arg) = delete;
42 IChangeNavigator& operator=(const IChangeNavigator& arg) = delete;
43};
44
45}}}} // end of namespace Arp::Plc::Commons::Meta
Includes kind as well as instance browse name.
Definition: DataTag.hpp:24
Enables switching of counterparts during download change
Definition: IChangeNavigator.hpp:17
std::shared_ptr< IChangeNavigator > Ptr
std::shared_ptr to IChangeNavigator
Definition: IChangeNavigator.hpp:20
virtual ~IChangeNavigator(void)=default
Destructs this instance and frees all resources.
IChangeNavigator(void)=default
Constructs an IChangeNavigator instance.
virtual bool ChangePointer(const DataTag &dataTag)=0
Determines if a pointer DataTag must be swapped during download change
virtual bool ChangeReference(const DataTag &dataTag)=0
Determines if a reference DataTag must be swapped during download change
Root namespace for the PLCnext API