]> git.tdb.fi Git - libs/core.git/blobdiff - source/dir.h
Style update: spaces around assignments
[libs/core.git] / source / dir.h
index 25ec776b2b814f4616e32f9a83d59ebe18d3bb6e..53228ccd760ce233d235fbef7b13b4b965c5c28b 100644 (file)
@@ -10,33 +10,47 @@ Distributed under the LGPL
 
 #include <list>
 #include <string>
+#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<std::string> list_files(const Path &path);
 
+/// Lists the contents of a directory, filtered with a regex
+std::list<std::string> 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 &);