PLCnext API Documentation  20.3.1.28622
IFileSystemInfoService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Rsc/Services/IRscService.hpp"
9 #include "FileSystemInfoServiceProxyFactory.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/RscString.hxx"
14 #include "FileSystemError.hpp"
15 #include "FileSystemTraitsEntry.hpp"
16 #include "Permissions.hpp"
17 #include "SpaceInfo.hpp"
18 #include "Traits.hpp"
19 
20 // DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IFileSystemInfoService.cs
21 
22 namespace Arp { namespace System { namespace Commons { namespace Services { namespace Io
23 {
24 
25 using namespace Arp;
26 using namespace Arp::System::Rsc::Services;
27 
33 {
34 public: // typedefs
35  typedef std::shared_ptr<IFileSystemInfoService> Ptr;
36  typedef delegate<void(IRscReadEnumerator<RscString<512>>&)> GetRootDirectoriesResultDelegate;
37 
38 public: // construction/destruction
42  virtual ~IFileSystemInfoService(void);
43 
44 public: // static policy operation
45  static IRscServiceProxyFactory& GetProxyFactory(void);
46 
47 public: // abstract operations
52  virtual Traits GetSupportedTraits() = 0;
53 
62  virtual FileSystemError GetPermissions(const RscString<512>& path, Permissions& permissions) = 0;
63 
72  virtual FileSystemError AddPermissions(const RscString<512>& path, Permissions permissions) = 0;
73 
82  virtual FileSystemError RemovePermissions(const RscString<512>& path, Permissions permissions) = 0;
83 
93  virtual FileSystemError GetFileSystemTraitsEntry(Traits traits, const RscString<512>& path, FileSystemTraitsEntry& fileSystemTraitsEntry) = 0;
94 
103  virtual FileSystemError GetSpaceInfo(const RscString<512>& path, SpaceInfo& spaceInfo) = 0;
104 
111  virtual void GetRootDirectories(GetRootDirectoriesResultDelegate resultDelegate) = 0;
112 
113 private: // deleted methods (for non-copyable classes)
114  IFileSystemInfoService(const IFileSystemInfoService& arg) = delete;
115  IFileSystemInfoService& operator=(const IFileSystemInfoService& arg) = delete;
116 };
117 
119 // inline methods of class IFileSystemInfoService
121 {
122 }
123 
125 {
126 }
127 
128 inline IRscServiceProxyFactory& IFileSystemInfoService::GetProxyFactory()
129 {
130  return FileSystemInfoServiceProxyFactory::GetInstance();
131 }
132 
133 }}}}} // end of namespace Arp::System::Commons::Services::Io
Namespace for classes and interfaces for the Remote Service Call implementation
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
Permissions
Provides attributes for files and directories.
Definition: Permissions.hpp:20
This struct is used by file operations to reading of the space informations.
Definition: SpaceInfo.hpp:24
This struct is used by file operations reading file informations from device.
Definition: FileSystemTraitsEntry.hpp:28
virtual ~IFileSystemInfoService(void)
Destructs this instance and frees all resouces.
Definition: IFileSystemInfoService.hpp:124
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
IFileSystemInfoService(void)
Constructs an IFileSystemInfoService instance.
Definition: IFileSystemInfoService.hpp:120
System components used by the System, Device, Plc or Io domains.
A generic service to retrieve file system infos.
Definition: IFileSystemInfoService.hpp:32