PLCnext API Documentation  22.3.0.20
DiagnosisItem.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/RscWriter.hpp"
11 #include "DiagnosisSource.hpp"
12 #include "StandardDiagnosisInformation.hpp"
13 #include "UsiDiagnosisInformation.hpp"
14 #include <vector>
15 
16 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
17 
18 namespace Arp { namespace Io { namespace ProfinetStack { namespace Controller { namespace Services
19 {
20 
21 using namespace Arp;
22 using namespace Arp::System::Rsc::Services;
23 
28 {
29 public:
34 
39  std::vector<StandardDiagnosisInformation> StandardDiagnoses;
40 
44  std::vector<UsiDiagnosisInformation> USIDiagnoses;
45 
46  void Serialize(RscWriter& writer)const override
47  {
48  writer.Write(this->Source);
49  writer.WriteArray(this->StandardDiagnoses);
50  writer.WriteArray(this->USIDiagnoses);
51  }
52 
53  void Deserialize(RscReader& reader)override
54  {
55  reader.Read(this->Source);
56  reader.ReadArray(this->StandardDiagnoses);
57  reader.ReadArray(this->USIDiagnoses);
58  }
59 
60  static constexpr size_t GetFieldCount(void)
61  {
62  return 3;
63  }
64 };
65 
66 }}}}} // end of namespace Arp::Io::ProfinetStack::Controller::Services
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter...
Definition: DiagnosisItem.hpp:46
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:177
Reads data from Rsc
Definition: RscReader.hpp:25
Writes data to Rsc.
Definition: RscWriter.hpp:30
Contains the information where a diagnosis is located on the device according to "Guideline for PROFI...
Definition: DiagnosisSource.hpp:24
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
DiagnosisSource Source
Contains the source of the diagnosis
Definition: DiagnosisItem.hpp:33
void WriteArray(const std::vector< T > &values)
Writes an array to Rsc. The data to write has to be stored in a std::vector.
Definition: RscWriter.hpp:203
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader...
Definition: DiagnosisItem.hpp:53
T Read(void)
Reads an element of T from Rsc. With data tagging enabled RscType of T is validated.
Definition: RscReader.hpp:165
Contains diagnosis source and corresponding diagnoses. Result of Arp.Io.ProfinetStack.Controller.Services.IDiagnosisQueryService.Query.
Definition: DiagnosisItem.hpp:27
std::vector< UsiDiagnosisInformation > USIDiagnoses
Contains all diagnosis of Arp.Io.ProfinetStack.Controller.Services.DiagnosisItem.Source, which are not in standard Format.
Definition: DiagnosisItem.hpp:44
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
void ReadArray(std::vector< T > &result)
Reads an array from Rsc. The read data is stored as std::vector.
Definition: RscReader.hpp:187
std::vector< StandardDiagnosisInformation > StandardDiagnoses
Contains all diagnosis of Arp.Io.ProfinetStack.Controller.Services.DiagnosisItem.Source, which are in standard Format (ChannelDiagnosis, ExtChannelDiagnosis and QualifiedChannelDiagnosis).
Definition: DiagnosisItem.hpp:39