PLCnext API Documentation 24.0.0.71
InterfaceAddressPayload.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6
7#pragma once
8
10#include "Arp/System/Nm/SpecializedPayload.hpp"
11#include <tuple>
12
13
14namespace Arp { namespace System { namespace NmPayload { namespace Io { namespace ProfinetStack
15{
16
17
20class ARP_CXX_SYMBOL_EXPORT InterfaceAddressPayload : public Arp::System::Nm::SpecializedPayload<InterfaceAddressPayload>
21{
22public:
24 using ArgumentsType = std::tuple<const char*, const char*, const char*, bool>;
25
26 using SpecializedPayload::SpecializedPayload;
27
30
37 const String ipAddress, const String& netmask, const String& gateway, bool isVolatile);
38
41
44
47
49 bool IsVolatile() const;
50
51private:
52 // Do not change the order of the field initialization!
53 size_t indexIpAddress = this->AddField<String>();
54 size_t indexNetmask = this->AddField<String>();
55 size_t indexGateway = this->AddField<String>();
56 size_t indexIsVolatile = this->AddField<bool>();
57};
58
59
60}}}}} // namespace Arp::System::NmPayload::Io::ProfinetStack
Payload class with information of the interface address of a Profinet station
Definition: InterfaceAddressPayload.hpp:21
std::tuple< const char *, const char *, const char *, bool > ArgumentsType
ArgumentsType to be used with NonBlockingNotificationRegistration3
Definition: InterfaceAddressPayload.hpp:24
bool IsVolatile() const
Returns true, if the parameters are volatile
InterfaceAddressPayload(const String ipAddress, const String &netmask, const String &gateway, bool isVolatile)
Creates a payload object
InterfaceAddressPayload(const ArgumentsType &args)
Creates a payload object
Base class for custom Payload classes
Definition: SpecializedPayload.hpp:44
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API