PLCnext API Documentation  22.9.0.33
FileSystemTraitsEntry.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/Commons/Services/Io/TraitItem.hpp"
10 #include "Arp/System/Rsc/Services/IRscSerializable.hpp"
11 #include "Arp/System/Rsc/Services/RscReader.hpp"
12 #include "Arp/System/Rsc/Services/RscString.hxx"
13 #include "Arp/System/Rsc/Services/RscWriter.hpp"
14 
15 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED
16 
17 namespace Arp { namespace System { namespace Commons { namespace Services { namespace Io
18 {
19 
20 using namespace Arp;
21 using namespace Arp::System::Rsc::Services;
22 
29 {
30 public:
35 
39  boolean IsFile = false;
40 
44  boolean IsDirectory = false;
45 
49  std::vector<TraitItem> Traits;
50 
51  void Serialize(RscWriter& writer)const override
52  {
53  writer.Write(this->Path);
54  writer.Write(this->IsFile);
55  writer.Write(this->IsDirectory);
56  writer.WriteArray(this->Traits);
57  }
58 
59  void Deserialize(RscReader& reader)override
60  {
61  reader.Read(this->Path);
62  reader.Read(this->IsFile);
63  reader.Read(this->IsDirectory);
64  reader.ReadArray(this->Traits);
65  }
66 
67  static constexpr size_t GetFieldCount(void)
68  {
69  return 4;
70  }
71 };
72 
73 }}}}} // end of namespace Arp::System::Commons::Services::Io
This struct is used by file operations reading file informations from device.
Definition: FileSystemTraitsEntry.hpp:29
RscString< 512 > Path
The path of the file.
Definition: FileSystemTraitsEntry.hpp:34
void Serialize(RscWriter &writer) const override
Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter.
Definition: FileSystemTraitsEntry.hpp:51
void Deserialize(RscReader &reader) override
Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.
Definition: FileSystemTraitsEntry.hpp:59
std::vector< TraitItem > Traits
The requested file traits of the file.
Definition: FileSystemTraitsEntry.hpp:49
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
@ System
System components used by the System, Device, Plc or Io domains.
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API