PLCnext API Documentation  22.9.0.33
ReadFileData.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 "Arp/System/Rsc/Services/RscStreamAdapter.hpp"
12 #include "FileSystemError.hpp"
13 #include "TraitItem.hpp"
14 #include <vector>
15 
16 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
17 
18 namespace Arp { namespace System { namespace Commons { namespace Services { namespace Io
19 {
20 
21 using namespace Arp;
22 using namespace Arp::System::Rsc::Services;
23 using namespace Arp::System::Commons::Io;
24 
26 {
27  FileSystemError Result = static_cast<FileSystemError>(0);
28  std::vector<TraitItem> TraitItems;
29  RscStreamAdapter Data;
30 
31  void Serialize(RscWriter& writer)const override
32  {
33  // this->Data must be assigned to a stream properly
34  writer.Write(this->Result);
35  writer.WriteArray(this->TraitItems);
36  this->Data.SerializeTo(writer);
37  }
38 
39  void Deserialize(RscReader& reader)override
40  {
41  // not in use for Online communication, but would work anyway in Target->Target communication,
42  // if this->Data is assigned properly to a stream
43  reader.Read(this->Result);
44  reader.ReadArray(this->TraitItems);
45  this->Data.DeserializeFrom(reader);
46  }
47 
48  static size_t GetFieldCount(void)
49  {
50  return 3;
51  }
52 };
53 
54 }}}}} // end of namespace Arp::System::Commons::Services::Io
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
This class serves as adapter between Rsc streams and streams from Arp::System::Commons::Io,...
Definition: RscStreamAdapter.hpp:20
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
@ System
System components used by the System, Device, Plc or Io domains.
Namespace for classes related to the filesystem and file I/O
Definition: AccessDeniedException.hpp:11
FileSystemError
This enum is used by several file operations.
Definition: FileSystemError.hpp:19
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.
Definition: ReadFileData.hpp:39
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter.
Definition: ReadFileData.hpp:31