PLCnext API Documentation
22.9.0.33
Arp
Plc
Commons
Meta
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
16
class
IChangeNavigator
17
{
18
public
:
// usings
20
using
Ptr
= std::shared_ptr<IChangeNavigator>;
21
22
protected
:
// construction/destruction
24
IChangeNavigator
(
void
) =
default
;
26
virtual
~IChangeNavigator
(
void
) =
default
;
27
28
public
:
// abstract operations
29
33
virtual
bool
ChangeReference
(
const
DataTag
& dataTag) = 0;
34
38
virtual
bool
ChangePointer
(
const
DataTag
& dataTag) = 0;
39
40
private
:
// 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
Arp.h
Arp::Plc::Commons::Meta::DataTag
Includes kind as well as instance browse name.
Definition:
DataTag.hpp:25
Arp::Plc::Commons::Meta::IChangeNavigator
Enables switching of counterparts during download change
Definition:
IChangeNavigator.hpp:17
Arp::Plc::Commons::Meta::IChangeNavigator::Ptr
std::shared_ptr< IChangeNavigator > Ptr
std::shared_ptr to IChangeNavigator
Definition:
IChangeNavigator.hpp:20
Arp::Plc::Commons::Meta::IChangeNavigator::~IChangeNavigator
virtual ~IChangeNavigator(void)=default
Destructs this instance and frees all resources.
Arp::Plc::Commons::Meta::IChangeNavigator::IChangeNavigator
IChangeNavigator(void)=default
Constructs an IChangeNavigator instance.
Arp::Plc::Commons::Meta::IChangeNavigator::ChangePointer
virtual bool ChangePointer(const DataTag &dataTag)=0
Determines if a pointer DataTag must be swapped during download change
Arp::Plc::Commons::Meta::IChangeNavigator::ChangeReference
virtual bool ChangeReference(const DataTag &dataTag)=0
Determines if a reference DataTag must be swapped during download change
Arp
Root namespace for the PLCnext API
Generated on Fri Oct 14 2022 06:27:09 for PLCnext API Documentation by
1.9.1