PLCnext API Documentation  21.0.0.35466
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
Definition: IRscReadEnumerator.hxx:9
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