8 #include "Arp/System/Rsc/Services/IRscService.hpp" 9 #include "FileService2ProxyFactory.hpp" 10 #include "Arp/System/Core/delegate.hxx" 11 #include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx" 12 #include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx" 13 #include "Arp/System/Rsc/Services/RscStreamAdapter.hpp" 14 #include "Arp/System/Rsc/Services/RscString.hxx" 15 #include "FileSystemError.hpp" 16 #include "ReadFileData.hpp" 17 #include "ReadFileInfo.hpp" 18 #include "TraitItem.hpp" 20 #include "WriteFileData.hpp" 25 namespace Arp {
namespace System {
namespace Commons {
namespace Services {
namespace Io
38 using Ptr = std::shared_ptr<IFileService2>;
39 using ExistsManyPathsDelegate = delegate<void(IRscWriteEnumerator<RscString<512>>&)>;
40 using ExistsManyResultDelegate = delegate<void(IRscReadEnumerator<boolean>&)>;
41 using WriteManyWriteFileDataDelegate = delegate<void(IRscWriteEnumerator<WriteFileData>&)>;
42 using WriteManyResultDelegate = delegate<void(IRscReadEnumerator<FileSystemError>&)>;
43 using ReadManyReadFileInfoDelegate = delegate<void(IRscWriteEnumerator<ReadFileInfo>&)>;
44 using ReadManyReadFileDataDelegate = delegate<void(IRscReadEnumerator<ReadFileData>&)>;
45 using DeleteManyFilePathsDelegate = delegate<void(IRscWriteEnumerator<RscString<512>>&)>;
46 using DeleteManyResultDelegate = delegate<void(IRscReadEnumerator<FileSystemError>&)>;
53 static IRscServiceProxyFactory& GetProxyFactory(
void);
70 virtual void ExistsMany(ExistsManyPathsDelegate pathsDelegate, ExistsManyResultDelegate resultDelegate) = 0;
79 virtual void WriteMany(WriteManyWriteFileDataDelegate writeFileDataDelegate, WriteManyResultDelegate resultDelegate) = 0;
86 virtual void ReadMany(ReadManyReadFileInfoDelegate readFileInfoDelegate, ReadManyReadFileDataDelegate readFileDataDelegate) = 0;
95 virtual void DeleteMany(DeleteManyFilePathsDelegate filePathsDelegate, DeleteManyResultDelegate resultDelegate) = 0;
100 inline IRscServiceProxyFactory& IFileService2::GetProxyFactory()
102 return FileService2ProxyFactory::GetInstance();
Specifies write access to the file. Data can be written to the file and the file pointer can be moved...
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
Provides common file operations for several files in a single call.
Definition: IFileService2.hpp:35
Traits
This enum is used by several file services to specify the file traits to get or set, respectively.
Definition: Traits.hpp:20
FileSystemError
This enum is used by several file operations.
Definition: FileSystemError.hpp:20
This class serves as adapter between Rsc streams and streams from Arp::System::Commons::Io, e.g. file streams.
Definition: RscStreamAdapter.hpp:19
Specifies read access to the file. Data can be read from the file and the file pointer can be moved...
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
System components used by the System, Device, Plc or Io domains.