PLCnext API Documentation  21.6.0.46
Classes | Enumerations | Functions
Arp::System::Commons::Services::Io Namespace Reference

Namespace for services to access the filesystem More...

Classes

class  DirectoryServiceProxyFactory
 Proxy factory class of service IDirectoryService More...
 
class  FileServiceProxyFactory
 Proxy factory class of service IFileService More...
 
class  FileSystemEntry
 This struct is used by file operations to reading of the file system entries. More...
 
class  FileSystemInfoServiceProxyFactory
 Proxy factory class of service IFileSystemInfoService More...
 
class  FileSystemTraitsEntry
 This struct is used by file operations reading file informations from device. More...
 
class  IDirectoryService
 Provides common file directory operations for several directories in a single call. More...
 
class  IFileService
 Provides common file operations for several files in a single call. More...
 
class  IFileSystemInfoService
 A generic service to retrieve file system infos. More...
 
class  SpaceInfo
 This struct is used by file operations to reading of the space informations. More...
 
class  TraitItem
 Specifies a file trait item More...
 

Enumerations

enum  FileSystemError : int32 {
  FileSystemError::None = 0, FileSystemError::Unknown = 1, FileSystemError::InvalidPath = 2, FileSystemError::NotExist = 3,
  FileSystemError::AlreadyExists = 4, FileSystemError::AccessDenied = 5, FileSystemError::OutOfSpace = 6
}
 This enum is used by several file operations. More...
 
enum  Permissions : int32 {
  Permissions::None = 0, Permissions::OthersExe = 1, Permissions::OthersWrite = 2, Permissions::OthersRead = 4,
  Permissions::OthersAll = 7, Permissions::GroupExe = 8, Permissions::GroupWrite = 16, Permissions::GroupRead = 32,
  Permissions::GroupAll = 56, Permissions::OwnerExe = 64, Permissions::OwnerWrite = 128, Permissions::OwnerRead = 256,
  Permissions::OwnerAll = 448, Permissions::AllAll = 511
}
 Provides attributes for files and directories. More...
 
enum  Traits : int32 {
  Traits::None = 0, Traits::Permissions = 1, Traits::LastWriteTime = 2, Traits::Length = 4,
  Traits::Crc32 = 8, Traits::TotalPermissions = 16
}
 This enum is used by several file services to specify the file traits to get or set, respectively. More...
 

Functions

std::ostream & operator<< (std::ostream &os, FileSystemError rhs)
 
std::istream & operator>> (std::istream &is, FileSystemError &rhs)
 
constexpr Permissions operator| (Permissions lhs, Permissions rhs)
 
constexpr Permissions operator & (Permissions lhs, Permissions rhs)
 
Permissionsoperator|= (Permissions &lhs, Permissions rhs)
 
Permissionsoperator &= (Permissions &lhs, Permissions rhs)
 
std::ostream & operator<< (std::ostream &os, Permissions rhs)
 
std::istream & operator>> (std::istream &is, Permissions &rhs)
 
constexpr Traits operator| (Traits lhs, Traits rhs)
 
constexpr Traits operator & (Traits lhs, Traits rhs)
 
Traitsoperator|= (Traits &lhs, Traits rhs)
 
Traitsoperator &= (Traits &lhs, Traits rhs)
 
std::ostream & operator<< (std::ostream &os, Traits rhs)
 
std::istream & operator>> (std::istream &is, Traits &rhs)
 

Detailed Description

Namespace for services to access the filesystem

Enumeration Type Documentation

◆ FileSystemError

This enum is used by several file operations.

Enumerator
None 

Success

Unknown 

The error is not listed in this enumeration.

InvalidPath 

The path is invalid.

NotExist 

The path does not exist.

AlreadyExists 

The path already exists.

AccessDenied 

The file is already in use.

OutOfSpace 

There is not enough space on the device left.

◆ Permissions

Provides attributes for files and directories.

Enumerator
None 

None = NoPerms of posix

OthersExe 

Execute/search permission, owner

OthersWrite 

Write permission, owner

OthersRead 

Read permission, owner

OthersAll 

Read, write, execute/search by owner; owner_read | owner_write | owner_exe

GroupExe 

Execute/search permission, group

GroupWrite 

Execute/search permission, group

GroupRead 

Read permission, group

GroupAll 

Read, write, execute/search by group; group_read | group_write | group_exe

OwnerExe 

Read permission, others

OwnerWrite 

Write permission, others

OwnerRead 

Execute/search permission, others

OwnerAll 

Read, write, execute/search by others; others_read | others_write | others_exe

AllAll 

owner_all | group_all | others_all

◆ Traits

This enum is used by several file services to specify the file traits to get or set, respectively.

Enumerator
None 

Not set.

Permissions 

Specifies the file permissions mask as Arp.System.Commons.Services.Io.Permissions mask. Using this trait to write a file with permissions will add the permissions mask to current file permissions. If the file will be created, the permissions mask will be added to default permissions.

LastWriteTime 

Specifies the time of last write access or last modified time, respectively as System.DateTime in UTC

Length 

Specifies the size of the file in bytes as System.Int64.

Crc32 

Specifies the CRC32 value of the file as System.Int32.

TotalPermissions 

Specifies the file permissions mask as Arp.System.Commons.Services.Io.Permissions mask. Using this trait to write a file with permissions will override current permissions.