10namespace Arp {
namespace System {
namespace Commons {
namespace Io
16 enum class Traits :
int32
19 Permissions = (1 << 0),
20 LastWriteTime = (1 << 1),
25 enum class Permissions :
int32
54 typedef std::list<String> RootDirectoriesList;
60 static Traits GetSupportedTraits(
void);
64 static void SetLastWriteTime(
const String& path,
const DateTime& newLastWriteTime);
67 static Permissions GetPermissions(
const String& path);
68 static void AddPermissions(
const String& path, Permissions permissions);
69 static void RemovePermissions(
const String& path, Permissions permissions);
70 static void RemoveAllPermissions(
const String& path);
71 static void SetPermissions(
const String& path, Permissions permissions);
72 static boolean IsDirectory(
const String& path);
73 static boolean IsFile(
const String& path);
75 static RootDirectoriesList GetRootDirectories(
void);
81constexpr FileSystemInfo::Traits operator&(FileSystemInfo::Traits lhs, FileSystemInfo::Traits rhs)
83 using U = std::underlying_type<FileSystemInfo::Traits>::type;
84 return static_cast<FileSystemInfo::Traits
>(
static_cast<U
>(lhs) &
static_cast<U
>(rhs));
87constexpr FileSystemInfo::Traits operator|(FileSystemInfo::Traits lhs, FileSystemInfo::Traits rhs)
89 using U = std::underlying_type<FileSystemInfo::Traits>::type;
90 return static_cast<FileSystemInfo::Traits
>(
static_cast<U
>(lhs) |
static_cast<U
>(rhs));
93constexpr FileSystemInfo::Permissions operator&(FileSystemInfo::Permissions lhs, FileSystemInfo::Permissions rhs)
95 using U = std::underlying_type<FileSystemInfo::Permissions>::type;
96 return static_cast<FileSystemInfo::Permissions
>(
static_cast<U
>(lhs) &
static_cast<U
>(rhs));
99constexpr FileSystemInfo::Permissions operator|(FileSystemInfo::Permissions lhs, FileSystemInfo::Permissions rhs)
101 using U = std::underlying_type<FileSystemInfo::Permissions>::type;
102 return static_cast<FileSystemInfo::Permissions
>(
static_cast<U
>(lhs) |
static_cast<U
>(rhs));
This class contains date and time informations.
Definition: DateTime.hpp:27
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Definition: FileSystemInfo.hpp:14
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
std::int32_t int32
The Arp integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:37
Root namespace for the PLCnext API
Definition: FileSystemInfo.hpp:48