X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fdir.h;h=ebbe56c553a5e8cd207f18240e3a0bf474e4e684;hp=25ec776b2b814f4616e32f9a83d59ebe18d3bb6e;hb=9c48f72f02e3112f4193cc8b3f12b135aa483de1;hpb=f91f1df3e0b00b3a270e571d4b2c8251da4d1226 diff --git a/source/dir.h b/source/dir.h index 25ec776..ebbe56c 100644 --- a/source/dir.h +++ b/source/dir.h @@ -10,33 +10,44 @@ 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); + /// Changes the current working directory void chdir(const Path &);