PLCnext API Documentation 23.6.0.37
ReadFileData.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
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
18namespace Arp { namespace System { namespace Commons { namespace Services { namespace Io
19{
20
21using namespace Arp;
22using namespace Arp::System::Rsc::Services;
23using namespace Arp::System::Commons::Io;
24
26{
27 FileSystemError Result = static_cast<FileSystemError>(0);
28 std::vector<TraitItem> TraitItems;
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:20
Reads data from Rsc
Definition: RscReader.hpp:27
void ReadArray(std::vector< T > &result)
Reads an array from Rsc. The read data is stored as std::vector.
Definition: RscReader.hpp:188
T Read(void)
Reads an element of T from Rsc. With data tagging enabled RscType of T is validated.
Definition: RscReader.hpp:166
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:32
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:178
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:204
@ 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
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