PLCnext API Documentation  21.0.0.35466
ProfinetAddress.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Rsc/Services/IRscSerializable.hpp"
9 #include "Arp/System/Rsc/Services/RscReader.hpp"
10 #include "Arp/System/Rsc/Services/RscString.hxx"
11 #include "Arp/System/Rsc/Services/RscWriter.hpp"
12 
13 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
14 
15 namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
16 {
17 
18 using namespace Arp;
19 using namespace Arp::System::Rsc::Services;
20 
25 {
30 
34  uint16 Instance = 0;
35 
39  uint16 Device = 0;
40 
44  uint16 Vendor = 0;
45 
49  uint32 Api = 0;
50 
54  uint16 Slot = 0;
55 
59  uint16 Subslot = 0;
60 
61  void Serialize(RscWriter& writer)const override
62  {
63  writer.Write(this->StationName);
64  writer.Write(this->Instance);
65  writer.Write(this->Device);
66  writer.Write(this->Vendor);
67  writer.Write(this->Api);
68  writer.Write(this->Slot);
69  writer.Write(this->Subslot);
70  }
71 
72  void Deserialize(RscReader& reader)override
73  {
74  reader.Read(this->StationName);
75  reader.Read(this->Instance);
76  reader.Read(this->Device);
77  reader.Read(this->Vendor);
78  reader.Read(this->Api);
79  reader.Read(this->Slot);
80  reader.Read(this->Subslot);
81  }
82 
83  static size_t GetFieldCount(void)
84  {
85  return 7;
86  }
87 };
88 
89 }}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
This structure contains all parameters of a PROFINET address
Definition: ProfinetAddress.hpp:24
void Write(const T &value)
Writes an element of T from Rsc. Datatag and format is determined deducted by type of T...
Definition: RscWriter.hpp:173
Reads data from Rsc
Definition: RscReader.hpp:23
Writes data to Rsc.
Definition: RscWriter.hpp:32
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader...
Definition: ProfinetAddress.hpp:72
RscString< 512 > StationName
Station name of the device
Definition: ProfinetAddress.hpp:29
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter...
Definition: ProfinetAddress.hpp:61
T Read(void)
Reads an element of T from Rsc. With data tagging enabled RscType of T is validated.
Definition: RscReader.hpp:160
Marshalls structure or class data types. Serialize and Deserialize have to marshal fields in the same...
Definition: IRscSerializable.hpp:18
Root namespace for the PLCnext API
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31