Mercurial > minori
diff include/core/filesystem.h @ 61:327568ad9be9
core/fs: finish class-ification of paths
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Fri, 29 Sep 2023 15:52:31 -0400 |
parents | 327e9a5c72f1 |
children | 3d2decf093bb |
line wrap: on
line diff
--- a/include/core/filesystem.h Fri Sep 29 13:52:50 2023 -0400 +++ b/include/core/filesystem.h Fri Sep 29 15:52:31 2023 -0400 @@ -4,14 +4,27 @@ namespace Filesystem { -bool CreateDirectories(const std::string& path); -bool Exists(const std::string& path); -std::string Basename(const std::string& path); -std::string Stem(const std::string& path); -std::string GetParentDirectory(const std::string& path); -std::string GetDotPath(); // %APPDATA%/minori, ~/Library/Application Support/minori, ~/.config/minori... -std::string GetConfigPath(); // (dotpath)/config.json -std::string GetAnimeDBPath(); // (dotpath)/anime/db.json +class Path { + public: + Path(); + Path(const std::string& path); + Path(const Path& path); + bool CreateDirectories() const; + bool Exists() const; + std::string Basename() const; + std::string Stem() const; + std::string Extension() const; + Path GetParent() const; + void SetPath(const std::string& path); + std::string GetPath() const; + + private: + std::string _path; +}; + +Path GetDotPath(); // %APPDATA%/minori, ~/Library/Application Support/minori, ~/.config/minori... +Path GetConfigPath(); // (dotpath)/config.json +Path GetAnimeDBPath(); // (dotpath)/anime/db.json } // namespace Filesystem