PLCnext API Documentation  20.6.0.30321
IChangeNavigator.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/Plc/Commons/Meta/DataTag.hpp"
9 
10 namespace Arp { namespace Plc { namespace Commons { namespace Meta
11 {
12 
14 {
15 public: // typedefs
16  typedef std::shared_ptr<IChangeNavigator> Ptr;
17 
18 protected: // construction/destruction
20  IChangeNavigator(void) = default;
22  virtual ~IChangeNavigator(void) = default;
23 
24 public: // abstract operations
25  virtual bool ChangeReference(const DataTag& dataTag) = 0;
26  virtual bool ChangePointer(const DataTag& dataTag) = 0;
27 
28 private: // deleted methods (for non-copyable classes)
29  IChangeNavigator(const IChangeNavigator& arg) = delete;
30  IChangeNavigator& operator=(const IChangeNavigator& arg) = delete;
31 };
32 
33 }}}} // end of namespace Arp::Plc::Commons::Meta
Includes kind as well as instance browse name.
Definition: DataTag.hpp:24
IChangeNavigator(void)=default
Constructs an IChangeNavigator instance.
Root namespace for the PLCnext API
virtual ~IChangeNavigator(void)=default
Destructs this instance and frees all resources.
Definition: IChangeNavigator.hpp:13