8#ifndef GALAXY_FS_VIRTUALFILESYSTEM_HPP_
9#define GALAXY_FS_VIRTUALFILESYSTEM_HPP_
45 std::string
read(
const std::string& file);
55 std::vector<std::uint8_t>
read_binary(
const std::string& file);
68 bool write(
const std::string& data,
const std::string& file);
81 bool write_binary(std::span<std::uint8_t> data,
const std::string& file);
93 bool write_raw(
const void* data,
const std::size_t size,
const std::string& file);
102 void mkdir(
const std::string& dir)
noexcept;
111 void remove(
const std::string& path)
noexcept;
121 bool exists(
const std::string& file)
noexcept;
131 bool is_dir(
const std::string& path)
noexcept;
141 std::vector<std::string>
list(
const std::string& dir);
146 void alert()
noexcept;
182 std::string
input_box(
const std::string& title,
const std::string& msg,
const std::string& default_text =
"",
const bool password =
false)
noexcept;
193 std::string
open_save_dialog(
const std::string& default_filename,
const std::vector<const char*>& filters = {});
204 std::string
open_file_dialog(
const std::vector<const char*>& filters = {},
const std::string& def_path =
"");
File System to make managing files easier.
void alert() noexcept
Trigger a standard filesystem audio alert.
VirtualFileSystem(const VirtualFileSystem &)=delete
Copy constructor.
~VirtualFileSystem() noexcept
Destructor.
bool is_dir(const std::string &path) noexcept
Checks if a file is a folder.
bool write_binary(std::span< std::uint8_t > data, const std::string &file)
Writes a binary file to disk.
std::vector< std::string > list(const std::string &dir)
Get assets in an asset folder.
std::string read(const std::string &file)
Read a file.
VirtualFileSystem & operator=(const VirtualFileSystem &)=delete
Copy assignment operator.
bool write_raw(const void *data, const std::size_t size, const std::string &file)
Raw data writing.
bool write(const std::string &data, const std::string &file)
Writes a file to disk.
int message_box(const std::string &title, const std::string &msg, const fs::DialogType type, const fs::DialogIcon icon, const fs::DialogButton btn) noexcept
Opens a platform specific message box.
std::string input_box(const std::string &title, const std::string &msg, const std::string &default_text="", const bool password=false) noexcept
Opens a platform specific text input box.
bool exists(const std::string &file) noexcept
Does the file exist in the vfs.
std::string open_file_dialog(const std::vector< const char * > &filters={}, const std::string &def_path="")
Open a file dialog.
std::string open_save_dialog(const std::string &default_filename, const std::vector< const char * > &filters={})
Open a save file dialog.
void notification(const std::string &title, const std::string &msg, const fs::DialogIcon icon) noexcept
Trigger a system notification.
std::string select_folder_dialog(const std::string &def_path="")
Select a folder using a dialog.
VirtualFileSystem(VirtualFileSystem &&)=delete
Move constructor.
VirtualFileSystem & operator=(VirtualFileSystem &&)=delete
Move assignment operator.
void remove(const std::string &path) noexcept
Delete a file or folder.
VirtualFileSystem() noexcept
Constructor.
std::vector< std::uint8_t > read_binary(const std::string &file)
Read a binary file.
void mkdir(const std::string &dir) noexcept
Creates an empty folder in the filesystem relative to the root.
DialogType
Type of dialog box for use with tinyfd.
DialogIcon
Type of native system icon to display on file dialogs.
DialogButton
Type of button for tinyfd boxes.