X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Ffs%2Fdir.h;h=bef89c6d72e1e160072be098450c8641bb0ec00a;hp=be5fac8662533b908cd720059e25deece28a81f4;hb=HEAD;hpb=817e584903996a041692640720a5a272d847a3c7 diff --git a/source/fs/dir.h b/source/fs/dir.h index be5fac8..960be2e 100644 --- a/source/fs/dir.h +++ b/source/fs/dir.h @@ -1,66 +1,67 @@ #ifndef MSP_FS_DIR_H_ #define MSP_FS_DIR_H_ -#include #include #include +#include +#include #include "path.h" namespace Msp { namespace FS { -class not_a_directory: public std::runtime_error +class MSPCORE_API not_a_directory: public std::runtime_error { public: not_a_directory(const Path &); - virtual ~not_a_directory() throw() { } + ~not_a_directory() throw() override = default; }; /// Creates a directory -void mkdir(const Path &path, int mode); +MSPCORE_API void mkdir(const Path &path, int mode); /// Creates a directory and any required parent directories -void mkpath(const Path &path, int mode); +MSPCORE_API void mkpath(const Path &path, int mode); /// Removes a directory, which must be empty -void rmdir(const Path &path); +MSPCORE_API void rmdir(const Path &path); /// Removes a directory and anything it contains -void rmpath(const Path &path); +MSPCORE_API void rmpath(const Path &path); /// Lists the contents of a directory -std::list list_files(const Path &path); +MSPCORE_API std::vector 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); +MSPCORE_API std::vector list_filtered(const Path &path, const std::string &filter); /// Returns the current working directory -Path getcwd(); +MSPCORE_API Path getcwd(); /// Changes the current working directory -void chdir(const Path &); +MSPCORE_API void chdir(const Path &); /// Returns the user's home directory -Path get_home_dir(); +MSPCORE_API Path get_home_dir(); /// Returns a directory suitable for storing user-specific data. -Path get_user_data_dir(); +MSPCORE_API Path get_user_data_dir(); /// Returns a directory containing system-wide configuration. -Path get_sys_conf_dir(); +MSPCORE_API Path get_sys_conf_dir(); /// Returns a directory containing immutable system-wide data. -Path get_sys_data_dir(); +MSPCORE_API Path get_sys_data_dir(); /// Returns a directory containing system-wide architecture-specific files. -Path get_sys_lib_dir(); +MSPCORE_API Path get_sys_lib_dir(); /** Looks for a file in a list of paths. Returns the absolute path to the first existing location, or an empty Path if the file is not found at all. */ -Path path_lookup(const std::string &, const std::list &); +MSPCORE_API Path path_lookup(const std::string &, const std::vector &); /** Looks for a file using the PATH environment variable. */ -Path path_lookup(const std::string &); +MSPCORE_API Path path_lookup(const std::string &); } // namespace FS } // namespace Msp