PLCnext API Documentation 23.6.0.37
IFileSystemInfoService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/System/Commons/Services/Io/FileSystemError.hpp"
9#include "Arp/System/Commons/Services/Io/FileSystemInfoServiceProxyFactory.hpp"
10#include "Arp/System/Commons/Services/Io/FileSystemTraitsEntry.hpp"
11#include "Arp/System/Commons/Services/Io/Permissions.hpp"
12#include "Arp/System/Commons/Services/Io/SpaceInfo.hpp"
13#include "Arp/System/Commons/Services/Io/Traits.hpp"
14#include "Arp/System/Core/delegate.hxx"
15#include "Arp/System/Rsc/Services/IRscReadEnumerator.hxx"
16#include "Arp/System/Rsc/Services/IRscService.hpp"
17#include "Arp/System/Rsc/Services/IRscWriteEnumerator.hxx"
18#include "Arp/System/Rsc/Services/RscString.hxx"
19
20// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IFileSystemInfoService.cs
21
22namespace Arp { namespace System { namespace Commons { namespace Services { namespace Io
23{
24
25using namespace Arp;
26using namespace Arp::System::Rsc::Services;
27
37{
38public: // typedefs
39 using Ptr = std::shared_ptr<IFileSystemInfoService>;
40 using GetRootDirectoriesResultDelegate = delegate<void(IRscReadEnumerator<RscString<512>>&)>;
41
42public: // construction/destruction
44 IFileSystemInfoService(void) = default;
45
46public: // static policy operation
47 static IRscServiceProxyFactory& GetProxyFactory(void);
48
49public: // abstract operations
55
64 virtual FileSystemError GetPermissions(const RscString<512>& path, Permissions& permissions) = 0;
65
74 virtual FileSystemError AddPermissions(const RscString<512>& path, Permissions permissions) = 0;
75
84 virtual FileSystemError RemovePermissions(const RscString<512>& path, Permissions permissions) = 0;
85
95 virtual FileSystemError GetFileSystemTraitsEntry(Traits traits, const RscString<512>& path, FileSystemTraitsEntry& fileSystemTraitsEntry) = 0;
96
105 virtual FileSystemError GetSpaceInfo(const RscString<512>& path, SpaceInfo& spaceInfo) = 0;
106
114 virtual void GetRootDirectories(GetRootDirectoriesResultDelegate resultDelegate) = 0;
115};
116
118// inline methods of class IFileSystemInfoService
119inline IRscServiceProxyFactory& IFileSystemInfoService::GetProxyFactory()
120{
121 return FileSystemInfoServiceProxyFactory::GetInstance();
122}
123
124}}}}} // end of namespace Arp::System::Commons::Services::Io
This struct is used by file operations reading file informations from device.
Definition: FileSystemTraitsEntry.hpp:29
A generic service to retrieve file system infos.
Definition: IFileSystemInfoService.hpp:37
virtual FileSystemError GetFileSystemTraitsEntry(Traits traits, const RscString< 512 > &path, FileSystemTraitsEntry &fileSystemTraitsEntry)=0
Gets the file system traits entry of the specified path.
IFileSystemInfoService(void)=default
Constructs an IFileSystemInfoService instance.
virtual FileSystemError GetSpaceInfo(const RscString< 512 > &path, SpaceInfo &spaceInfo)=0
Gets the space information of the specified path.
virtual FileSystemError AddPermissions(const RscString< 512 > &path, Permissions permissions)=0
Adds the permissions to the specified path.
virtual void GetRootDirectories(GetRootDirectoriesResultDelegate resultDelegate)=0
Deprecated since 2023.6! This method is not supported anymore! Gets a list of all root directories su...
virtual Traits GetSupportedTraits()=0
Gets the supported traits.
virtual FileSystemError RemovePermissions(const RscString< 512 > &path, Permissions permissions)=0
Removes the permissions of the specified path.
virtual FileSystemError GetPermissions(const RscString< 512 > &path, Permissions &permissions)=0
Gets the permissions of the specified path.
This struct is used by file operations to reading of the space informations.
Definition: SpaceInfo.hpp:25
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:20
@ System
System components used by the System, Device, Plc or Io domains.
Permissions
Provides attributes for files and directories.
Definition: Permissions.hpp:19
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