PLCnext API Documentation 23.6.0.37
IFileService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
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
19namespace Arp { namespace System { namespace Commons { namespace Services { namespace Io
20{
21
22using namespace Arp;
23using namespace Arp::System::Rsc::Services;
24
35{
36public: // typedefs
37 using Ptr = std::shared_ptr<IFileService>;
38
39public: // construction/destruction
41 IFileService(void) = default;
42
43public: // static policy operation
44 static IRscServiceProxyFactory& GetProxyFactory(void);
45
46public: // abstract operations
54 virtual boolean Exists(const RscString<512>& path) = 0;
55
66 virtual FileSystemError Write(const RscString<512>& filePath, boolean overwrite, const std::vector<TraitItem>& traitItems, RscStreamAdapter data) = 0;
67
78 virtual FileSystemError Read(Traits fileTraits, const RscString<512>& filePath, RscStreamAdapter data, std::vector<TraitItem>& traitItems) = 0;
79
87 virtual FileSystemError Delete(const RscString<512>& filePath) = 0;
88
99 virtual FileSystemError Move(boolean createDirectory, boolean overwrite, const RscString<512>& sourceFilePath, const RscString<512>& destinationFilePath) = 0;
100
111 virtual FileSystemError Copy(boolean createDirectory, boolean overwrite, const RscString<512>& sourceFilePath, const RscString<512>& destinationFilePath) = 0;
112};
113
115// inline methods of class IFileService
116inline IRscServiceProxyFactory& IFileService::GetProxyFactory()
117{
118 return FileServiceProxyFactory::GetInstance();
119}
120
121}}}}} // 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:35
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:20
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
Root namespace for the PLCnext API