PLCnext API Documentation  22.9.0.33
StoredNotification2.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include <vector>
9 #include "Arp/System/Rsc/Services/IRscSerializable.hpp"
10 #include "Arp/System/Rsc/Services/RscReader.hpp"
11 #include "Arp/System/Rsc/Services/RscString.hxx"
12 #include "Arp/System/Rsc/Services/RscWriter.hpp"
13 
14 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
15 
16 namespace Arp { namespace Services { namespace NotificationLogger { namespace Services
17 {
18 
19 using namespace Arp;
20 using namespace Arp::System::Rsc::Services;
21 
26 {
27 public:
31  uint64 Id = 0;
32 
37  std::vector<RscString<64>> Archives;
38 
43 
48 
53 
58 
63 
68 
72  std::vector<RscString<512>> Payload;
73 
77  std::vector<RscString<512>> PayloadXml;
78 
79  void Serialize(RscWriter& writer)const override
80  {
81  writer.Write(this->Id);
82  writer.WriteArray(this->Archives);
83  writer.Write(this->NotificationName);
84  writer.Write(this->SenderName);
85  writer.Write(this->TimeStamp);
86  writer.Write(this->Severity);
87  writer.Write(this->RedundancyType);
88  writer.Write(this->RedundancyRole);
89  writer.WriteArray(this->Payload);
90  writer.WriteArray(this->PayloadXml);
91  }
92 
93  void Deserialize(RscReader& reader)override
94  {
95  reader.Read(this->Id);
96  reader.ReadArray(this->Archives);
97  reader.Read(this->NotificationName);
98  reader.Read(this->SenderName);
99  reader.Read(this->TimeStamp);
100  reader.Read(this->Severity);
101  reader.Read(this->RedundancyType);
102  reader.Read(this->RedundancyRole);
103  reader.ReadArray(this->Payload);
104  reader.ReadArray(this->PayloadXml);
105  }
106 
107  static constexpr size_t GetFieldCount(void)
108  {
109  return 10;
110  }
111 };
112 
113 }}}} // end of namespace Arp::Services::NotificationLogger::Services
Data structure for notifications from the NotificationLogger
Definition: StoredNotification2.hpp:26
RscString< 512 > NotificationName
Name of the notification
Definition: StoredNotification2.hpp:42
std::vector< RscString< 512 > > PayloadXml
Payload as XML
Definition: StoredNotification2.hpp:77
RscString< 32 > TimeStamp
Timestamp when the notification was sent
Definition: StoredNotification2.hpp:52
RscString< 32 > RedundancyRole
Redundancy role (Primary, Backup)
Definition: StoredNotification2.hpp:67
RscString< 32 > Severity
Severity
Definition: StoredNotification2.hpp:57
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.
Definition: StoredNotification2.hpp:93
RscString< 32 > RedundancyType
Redundancy type (First, Second)
Definition: StoredNotification2.hpp:62
std::vector< RscString< 64 > > Archives
Names of the archives the notification was retreived from.
Definition: StoredNotification2.hpp:37
std::vector< RscString< 512 > > Payload
Formatted payload
Definition: StoredNotification2.hpp:72
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter.
Definition: StoredNotification2.hpp:79
RscString< 512 > SenderName
Name of the sender
Definition: StoredNotification2.hpp:47
Marshalls structure or class data types. Serialize and Deserialize have to marshal fields in the same...
Definition: IRscSerializable.hpp:19
Reads data from Rsc
Definition: RscReader.hpp:26
void ReadArray(std::vector< T > &result)
Reads an array from Rsc. The read data is stored as std::vector.
Definition: RscReader.hpp:187
T Read(void)
Reads an element of T from Rsc. With data tagging enabled RscType of T is validated.
Definition: RscReader.hpp:165
Writes data to Rsc.
Definition: RscWriter.hpp:31
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
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
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:39
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API