ReXGlue SDK
Loading...
Searching...
No Matches
mount.h
Go to the documentation of this file.
1
10
11#pragma once
12
13#include <filesystem>
14#include <string>
15#include <vector>
16
17#include <rex/bit.h>
18#include <rex/types.h>
19
20namespace rex::filesystem {
21
22using rex::HasFlags;
23using rex::operator|;
24using rex::operator&;
25using rex::operator^;
26using rex::operator~;
27using rex::operator|=;
28using rex::operator&=;
29using rex::operator^=;
30
31enum class ProviderType : u8 {
32 kHostDirectory,
36};
37
38enum class MountFlags : u8 {
39 kNone = 0,
41};
42
43struct MountEntry {
44 std::string path;
45 ProviderType type = ProviderType::kHostDirectory;
46 std::filesystem::path source;
48 std::vector<std::string> null_paths;
49};
50
51} // namespace rex::filesystem
52
53template <>
54inline constexpr bool rex::is_flags_enum<rex::filesystem::MountFlags> = true;
ProviderType
Definition mount.h:31
@ kSTFS
Definition mount.h:33
@ kDiscImage
Definition mount.h:34
@ kNull
Definition mount.h:35
MountFlags
Definition mount.h:38
@ kWritable
Definition mount.h:40
@ kNone
Definition mount.h:39
constexpr bool is_flags_enum
Definition bit.h:422
constexpr bool HasFlags(E value, E flags)
Definition bit.h:483
Definition mount.h:43
std::filesystem::path source
Definition mount.h:46
std::vector< std::string > null_paths
Definition mount.h:48
std::string path
Definition mount.h:44
Integer types, byte order wrappers and size literals.