PLCnext API Documentation 25.0.2.69
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Arp::System::Commons::Services::Io::IFileService2 Class Referenceabstract

Provides common file operations for several files in a single call. More...

#include <IFileService2.hpp>

Inheritance diagram for Arp::System::Commons::Services::Io::IFileService2:
Inheritance graph

Public Types

using Ptr = std::shared_ptr< IFileService2 >
 
using DeleteManyFilePathsDelegate = delegate< void(IRscWriteEnumerator< RscString< 512 > > &)>
 
using DeleteManyResultDelegate = delegate< void(IRscReadEnumerator< FileSystemError > &)>
 
using ExistsManyPathsDelegate = delegate< void(IRscWriteEnumerator< RscString< 512 > > &)>
 
using ExistsManyResultDelegate = delegate< void(IRscReadEnumerator< boolean > &)>
 
using ReadManyReadFileDataDelegate = delegate< void(IRscReadEnumerator< ReadFileData > &)>
 
using ReadManyReadFileInfoDelegate = delegate< void(IRscWriteEnumerator< ReadFileInfo > &)>
 
using WriteManyResultDelegate = delegate< void(IRscReadEnumerator< FileSystemError > &)>
 
using WriteManyWriteFileDataDelegate = delegate< void(IRscWriteEnumerator< WriteFileData > &)>
 
- Public Types inherited from Arp::System::Commons::Services::Io::IFileService
using Ptr = std::shared_ptr< IFileService >
 
- Public Types inherited from Arp::Base::Rsc::Commons::IRscService
using Ptr = std::shared_ptr< IRscService >
 The shared_ptr type of IRscService.
 

Public Member Functions

 IFileService2 (void)=default
 Constructs an IFileService2 instance.
 
virtual void ExistsMany (ExistsManyPathsDelegate pathsDelegate, ExistsManyResultDelegate resultDelegate)=0
 Checks if the specified files exist. More...
 
virtual void WriteMany (WriteManyWriteFileDataDelegate writeFileDataDelegate, WriteManyResultDelegate resultDelegate)=0
 Writes the given data to the specified files. More...
 
virtual void ReadMany (ReadManyReadFileInfoDelegate readFileInfoDelegate, ReadManyReadFileDataDelegate readFileDataDelegate)=0
 Reads the specified files. More...
 
virtual void DeleteMany (DeleteManyFilePathsDelegate filePathsDelegate, DeleteManyResultDelegate resultDelegate)=0
 Deletes the specified files. More...
 
- Public Member Functions inherited from Arp::System::Commons::Services::Io::IFileService
 IFileService (void)=default
 Constructs an IFileService instance.
 
virtual boolean Exists (const RscString< 512 > &path)=0
 Checks if the specified file exists. More...
 
virtual FileSystemError Write (const RscString< 512 > &filePath, boolean overwrite, const std::vector< TraitItem > &traitItems, RscStream data)=0
 Writes the given data to the specified file. More...
 
virtual FileSystemError Read (Traits fileTraits, const RscString< 512 > &filePath, RscStream data, std::vector< TraitItem > &traitItems)=0
 Reads the specified file from device. More...
 
virtual FileSystemError Delete (const RscString< 512 > &filePath)=0
 Deletes the specified file. More...
 
virtual FileSystemError Move (boolean createDirectory, boolean overwrite, const RscString< 512 > &sourceFilePath, const RscString< 512 > &destinationFilePath)=0
 Moves the specified file. More...
 
virtual FileSystemError Copy (boolean createDirectory, boolean overwrite, const RscString< 512 > &sourceFilePath, const RscString< 512 > &destinationFilePath)=0
 Copies the specified files. More...
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::IRscService
 IRscService (void)=default
 The default constructor.
 
 IRscService (const IRscService &arg)=delete
 The deleted copy constructor. More...
 
 IRscService (IRscService &&arg) noexcept=default
 The default move constructor. More...
 
IRscServiceoperator= (const IRscService &arg)=delete
 The deleted assignment operator. More...
 
IRscServiceoperator= (IRscService &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscService (void)=default
 Destructs this instance and frees all resources.
 

Static Public Member Functions

static IRscServiceProxyFactoryGetProxyFactory (void)
 
- Static Public Member Functions inherited from Arp::System::Commons::Services::Io::IFileService
static IRscServiceProxyFactoryGetProxyFactory (void)
 
- Static Public Member Functions inherited from Arp::Base::Rsc::Commons::IRscService
static IRscServiceProxyFactoryGetProxyFactory (void)
 Returns a reference to service proxy factory to create a proxy instance of this service. More...
 

Detailed Description

Provides common file operations for several files in a single call.

The path separator is always '/'.

This service itself has no limitation to the file size. The service has been tested with file transfers up to 4GB. Depending on the target, the client, their configuration and their resources the actual size limit may vary.

This service is defined in library Arp.System.Commons.Services.

Realtime Usage: This API call does not have to be deterministic in runtime behaviour, so an asynchronous execution should be considered.

Member Function Documentation

◆ DeleteMany()

virtual void Arp::System::Commons::Services::Io::IFileService2::DeleteMany ( DeleteManyFilePathsDelegate  filePathsDelegate,
DeleteManyResultDelegate  resultDelegate 
)
pure virtual

Deletes the specified files.

Parameters
filePathsPaths of files to delete.
Returns
A Arp.System.Commons.Services.Io.FileSystemError array where each element corresponds the related element in filePaths . The element value isArp.System.Commons.Services.Io.FileSystemError.None, if the file could be deleted, otherwise the appropiate error info.

◆ ExistsMany()

virtual void Arp::System::Commons::Services::Io::IFileService2::ExistsMany ( ExistsManyPathsDelegate  pathsDelegate,
ExistsManyResultDelegate  resultDelegate 
)
pure virtual

Checks if the specified files exist.

Parameters
pathsPaths of files to check.
Returns
A bool array where each element corresponds the related element in paths . The element value is true, if the file exists, otherwise false.

◆ ReadMany()

virtual void Arp::System::Commons::Services::Io::IFileService2::ReadMany ( ReadManyReadFileInfoDelegate  readFileInfoDelegate,
ReadManyReadFileDataDelegate  readFileDataDelegate 
)
pure virtual

Reads the specified files.

Parameters
readFileInfoContains information of all files to read.
readFileDataContains the file data and traits of all read files, as well as an eror info if the file could not be read

◆ WriteMany()

virtual void Arp::System::Commons::Services::Io::IFileService2::WriteMany ( WriteManyWriteFileDataDelegate  writeFileDataDelegate,
WriteManyResultDelegate  resultDelegate 
)
pure virtual

Writes the given data to the specified files.

Parameters
writeFileDataAn array of Arp.System.Commons.Services.Io.WriteFileData where ech element contains the file info and data of the file to write.
Returns
A Arp.System.Commons.Services.Io.FileSystemError array where each element corresponds the related element in writeFileData . The element value isArp.System.Commons.Services.Io.FileSystemError.None, if the file could be written, otherwise the appropiate error info.

The documentation for this class was generated from the following file: