PLCnext API Documentation  22.9.0.33
IFileService.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/FileServiceProxyFactory.hpp"
10 #include "Arp/System/Commons/Services/Io/FileSystemError.hpp"
11 #include "Arp/System/Commons/Services/Io/TraitItem.hpp"
12 #include "Arp/System/Commons/Services/Io/Traits.hpp"
13 #include "Arp/System/Rsc/Services/IRscService.hpp"
14 #include "Arp/System/Rsc/Services/RscStreamAdapter.hpp"
15 #include "Arp/System/Rsc/Services/RscString.hxx"
16 
17 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IFileService.cs
18 
19 namespace Arp { namespace System { namespace Commons { namespace Services { namespace Io
20 {
21 
22 using namespace Arp;
23 using namespace Arp::System::Rsc::Services;
24 
31 class IFileService : public IRscService
32 {
33 public: // typedefs
34  using Ptr = std::shared_ptr<IFileService>;
35 
36 public: // construction/destruction
38  IFileService(void) = default;
39 
40 public: // static policy operation
41  static IRscServiceProxyFactory& GetProxyFactory(void);
42 
43 public: // abstract operations
51  virtual boolean Exists(const RscString<512>& path) = 0;
52 
63  virtual FileSystemError Write(const RscString<512>& filePath, boolean overwrite, const std::vector<TraitItem>& traitItems, RscStreamAdapter data) = 0;
64 
75  virtual FileSystemError Read(Traits fileTraits, const RscString<512>& filePath, RscStreamAdapter data, std::vector<TraitItem>& traitItems) = 0;
76 
84  virtual FileSystemError Delete(const RscString<512>& filePath) = 0;
85 
96  virtual FileSystemError Move(boolean createDirectory, boolean overwrite, const RscString<512>& sourceFilePath, const RscString<512>& destinationFilePath) = 0;
97 
108  virtual FileSystemError Copy(boolean createDirectory, boolean overwrite, const RscString<512>& sourceFilePath, const RscString<512>& destinationFilePath) = 0;
109 };
110 
112 // inline methods of class IFileService
113 inline IRscServiceProxyFactory& IFileService::GetProxyFactory()
114 {
115  return FileServiceProxyFactory::GetInstance();
116 }
117 
118 }}}}} // end of namespace Arp::System::Commons::Services::Io
Provides common file operations for reading and writing files as well as deleting/moving/copying file...
Definition: IFileService.hpp:32
virtual FileSystemError Delete(const RscString< 512 > &filePath)=0
Deletes the specified file.
virtual FileSystemError Read(Traits fileTraits, const RscString< 512 > &filePath, RscStreamAdapter data, std::vector< TraitItem > &traitItems)=0
Reads the specified file from device.
IFileService(void)=default
Constructs an IFileService instance.
virtual boolean Exists(const RscString< 512 > &path)=0
Checks if the specified file exists.
virtual FileSystemError Move(boolean createDirectory, boolean overwrite, const RscString< 512 > &sourceFilePath, const RscString< 512 > &destinationFilePath)=0
Moves the specified file.
virtual FileSystemError Write(const RscString< 512 > &filePath, boolean overwrite, const std::vector< TraitItem > &traitItems, RscStreamAdapter data)=0
Writes the given data to the specified file.
virtual FileSystemError Copy(boolean createDirectory, boolean overwrite, const RscString< 512 > &sourceFilePath, const RscString< 512 > &destinationFilePath)=0
Copies the specified files.
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
This class serves as adapter between Rsc streams and streams from Arp::System::Commons::Io,...
Definition: RscStreamAdapter.hpp:20
@ System
System components used by the System, Device, Plc or Io domains.
Traits
This enum is used by several file services to specify the file traits to get or set,...
Definition: Traits.hpp:19
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