X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fdir.h;h=53228ccd760ce233d235fbef7b13b4b965c5c28b;hp=25ec776b2b814f4616e32f9a83d59ebe18d3bb6e;hb=fa77438b62207466c48620604c8cc34931080936;hpb=f91f1df3e0b00b3a270e571d4b2c8251da4d1226 diff --git a/source/dir.h b/source/dir.h index 25ec776..53228cc 100644 --- a/source/dir.h +++ b/source/dir.h @@ -10,33 +10,47 @@ Distributed under the LGPL #include #include +#include "path.h" namespace Msp { namespace FS { -class Path; - /// Creates a directory void mkdir(const Path &path, int mode); /// Creates a directory and any required parent directories void mkpath(const Path &path, int mode); -/// Removes a directory +/// Removes a directory, which must be empty void rmdir(const Path &path); /// Removes a directory and anything it contains -void rmdirs(const Path &path); +void rmpath(const Path &path); /// Lists the contents of a directory std::list list_files(const Path &path); +/// Lists the contents of a directory, filtered with a regex +std::list list_filtered(const Path &path, const std::string &filter); + /// Returns the current working directory Path getcwd(); /// Returns the user's home directory Path get_home_dir(); +/// Returns a directory suitable for storing user-specific data +Path get_user_data_dir(const std::string &appname); + +/// Returns a directory containing system-wide configuration +Path get_sys_conf_dir(const std::string &argv0); + +/// Returns a directory containing immutable system-wide data +Path get_sys_data_dir(const std::string &argv0, const std::string &appname); + +/// Returns a directory containing system-wide architecture-specific files +Path get_sys_lib_dir(const std::string &argv0, const std::string &appname); + /// Changes the current working directory void chdir(const Path &);