8#ifndef GALAXY_FS_VIRTUALFILESYSTEM_HPP_
9#define GALAXY_FS_VIRTUALFILESYSTEM_HPP_
47 std::string
read(
const std::string& file);
57 std::vector<std::uint8_t>
read_binary(
const std::string& file);
70 bool write(
const std::string& data,
const std::string& file);
83 bool write_binary(std::span<std::uint8_t> data,
const std::string& file);
95 bool write_raw(
const void* data,
const std::size_t size,
const std::string& file);
104 void mkdir(
const std::string& dir)
noexcept;
113 void remove(
const std::string& path)
noexcept;
123 bool exists(
const std::string& file)
noexcept;
133 bool is_dir(
const std::string& path)
noexcept;
143 std::vector<std::string>
list(
const std::string& dir);
148 void alert()
noexcept;
184 std::string
input_box(
const std::string& title,
const std::string& msg,
const std::string& default_text =
"",
const bool password =
false)
noexcept;
195 std::string
open_save_dialog(
const std::string& default_filename,
const std::vector<const char*>& filters = {});
206 std::string
open_file_dialog(
const std::vector<const char*>& filters = {},
const std::string& def_path =
"");
File System to make managing files easier.
bool is_dir(const std::string &path) noexcept
Checks if a file is a folder.
bool exists(const std::string &file) noexcept
Does the file exist in the vfs.
std::vector< std::uint8_t > read_binary(const std::string &file)
Read a binary file.
int message_box(const std::string &title, const std::string &msg, const DialogType type, const DialogIcon icon, const DialogButton btn) noexcept
Opens a platform specific message box.
void mkdir(const std::string &dir) noexcept
Creates an empty folder in the filesystem relative to the root.
bool write_raw(const void *data, const std::size_t size, const std::string &file)
Raw data writing.
std::string select_folder_dialog(const std::string &def_path="")
Select a folder using a dialog.
VirtualFileSystem & operator=(VirtualFileSystem &&)=delete
Move assignment operator.
bool write(const std::string &data, const std::string &file)
Writes a file to disk.
void notification(const std::string &title, const std::string &msg, const DialogIcon icon) noexcept
Trigger a system notification.
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.
VirtualFileSystem(const VirtualFileSystem &)=delete
Copy constructor.
std::vector< std::string > list(const std::string &dir)
Get assets in an asset folder.
std::string get_file_extension(const std::string &file_name) noexcept
Get pointer to extension for a filename string.
VirtualFileSystem()
Constructor.
bool write_binary(std::span< std::uint8_t > data, const std::string &file)
Writes a binary file to disk.
void alert() noexcept
Trigger a standard filesystem audio alert.
std::string open_save_dialog(const std::string &default_filename, const std::vector< const char * > &filters={})
Open a save file dialog.
std::string open_file_dialog(const std::vector< const char * > &filters={}, const std::string &def_path="")
Open a file dialog.
std::string read(const std::string &file)
Read a file.
VirtualFileSystem & operator=(const VirtualFileSystem &)=delete
Copy assignment operator.
void remove(const std::string &path) noexcept
Delete a file or folder.
VirtualFileSystem(VirtualFileSystem &&)=delete
Move constructor.
~VirtualFileSystem()
Destructor.
DialogIcon
Type of native system icon to display on file dialogs.
DialogType
Type of dialog box for use with tinyfd.
DialogButton
Type of button for tinyfd boxes.