8#include "Arp/System/Commons/Services/Io/DirectoryService2ProxyFactory.hpp"
9#include "Arp/System/Commons/Services/Io/FileSystemEntry.hpp"
10#include "Arp/System/Commons/Services/Io/FileSystemError.hpp"
11#include "Arp/System/Commons/Services/Io/FileSystemTraitsEntry.hpp"
12#include "Arp/System/Commons/Services/Io/Traits.hpp"
13#include "Arp/System/Core/delegate.hxx"
14#include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx"
15#include "Arp/System/Rsc/Services/IRscService.hpp"
16#include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx"
17#include "Arp/System/Rsc/Services/RscString.hxx"
21namespace Arp {
namespace System {
namespace Commons {
namespace Services {
namespace Io
35 using Ptr = std::shared_ptr<IDirectoryService2>;
52 static IRscServiceProxyFactory& GetProxyFactory(
void);
61 virtual void EnumerateFileSystemEntries(
const RscString<512>& path,
const RscString<512>& searchPattern,
boolean recursive, EnumerateFileSystemEntriesResultDelegate resultDelegate) = 0;
62 virtual void EnumerateFileSystemTraitsEntries(
const RscString<512>& path,
const RscString<512>& searchPattern,
Traits traits,
boolean recursive, EnumerateFileSystemTraitsEntriesResultDelegate resultDelegate) = 0;
71 virtual void ExistsMany(ExistsManyPathsDelegate pathsDelegate, ExistsManyResultDelegate resultDelegate) = 0;
80 virtual void CreateMany(CreateManyPathsDelegate pathsDelegate, CreateManyResultDelegate resultDelegate) = 0;
89 virtual void DeleteMany(DeleteManyPathsDelegate pathsDelegate, DeleteManyResultDelegate resultDelegate) = 0;
98 virtual void ClearMany(ClearManyPathsDelegate pathsDelegate, ClearManyResultDelegate resultDelegate) = 0;
103inline IRscServiceProxyFactory& IDirectoryService2::GetProxyFactory()
105 return DirectoryService2ProxyFactory::GetInstance();
Provides common file directory operations for several directories in a single call.
Definition: IDirectoryService2.hpp:33
IDirectoryService2(void)=default
Constructs an IDirectoryService2 instance.
virtual void ExistsMany(ExistsManyPathsDelegate pathsDelegate, ExistsManyResultDelegate resultDelegate)=0
Checks if the specified directories exist.
virtual void CreateMany(CreateManyPathsDelegate pathsDelegate, CreateManyResultDelegate resultDelegate)=0
Creates the specified directories.
virtual void DeleteMany(DeleteManyPathsDelegate pathsDelegate, DeleteManyResultDelegate resultDelegate)=0
Deletes the specified directories.
virtual void ClearMany(ClearManyPathsDelegate pathsDelegate, ClearManyResultDelegate resultDelegate)=0
Clears the specified directories.
Interface for reading an array or an enumerator. For regular enumerators UndefinedArrayLength is used...
Definition: IRscReadEnumerator.hxx:21
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
Interface for writing an array or an enumerator. For regular enumerators UndefinedArrayLength is used...
Definition: IRscWriteEnumerator.hxx:23
@ 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