31#include "utility/system_io/system_io.hpp"
33namespace utility::logging
52 std::unique_ptr<utility::logging::Logger> _logger;
97 std::shared_ptr<utility::File>
add(
const std::string &path)
override;
104 void remove(
const std::string &path,
bool save =
true)
override;
113 bool save(
const std::string &path,
114 const std::string &newPath =
"")
override;
The DefaultSystemIO class is a concrete implementation of the SystemIO interface that loads assets fr...
void remove(const std::string &path, bool save=true) override
Removes an asset from the manager.
bool loadDirectory(const std::string &directory) override
Loads assets from a directory.
DefaultSystemIO()
Constructs a DefaultSystemIO.
bool save(const std::string &path, const std::string &newPath="") override
Saves an asset to the file system.
std::shared_ptr< utility::File > add(const std::string &path) override
Adds an asset to the manager by loading it from the file system.
utility::logging::Logger & getLogger(void)
Get the internal logger.
~DefaultSystemIO() override
Default destructor for DefaultSystemIO.
The SystemIO class is an abstract base class for managing file assets.
virtual bool loadDirectory(const std::string &directory)=0
Loads assets from a directory.
virtual void remove(const std::string &path, bool save=true)=0
Removes an asset from the manager.
virtual bool save(const std::string &path, const std::string &newPath="")=0
Saves an asset to the disk.
virtual std::shared_ptr< utility::File > add(const std::string &path)=0
Adds an asset to the manager.
Abstract logger interface defining stream-style logging operations.
The utility namespace contains classes and functions for the utility project.