view include/core/filesystem.h @ 75:d3e9310598b1

*: refactor some stuff text: "TextParagraph"s are now called sections, because that's the actual word for it :P text: new classes: Line and OneLineSection, solves many problems with paragraphs that are only one line long (ex. going out of bounds) http: reworked http stuff to allow threaded get requests, also moved it to its own file to (hopefully) remove clutter eventually I'll make a threaded post request method and use that in the "basic" function
author Paper <mrpapersonic@gmail.com>
date Wed, 04 Oct 2023 01:42:30 -0400
parents 3d2decf093bb
children 39521c47c7a3
line wrap: on
line source

#ifndef __core__filesystem_h
#define __core__filesystem_h
#include <string>

namespace Filesystem {

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

#endif // __core__filesystem_h