]> git.tdb.fi Git - libs/core.git/blobdiff - source/utils.h
Split directory and stat related functions into their own files
[libs/core.git] / source / utils.h
index 8139a7e4c073f4f7d8640608ae85b4cce5b79e4e..a828c92e3ed76e21a90efe22b3d7de2c985b7506 100644 (file)
@@ -8,11 +8,8 @@ Distributed under the LGPL
 #ifndef MSP_FS_UTILS_H_
 #define MSP_FS_UTILS_H_
 
-#include <sys/stat.h>
-#include <list>
-#include <string>
-
 namespace Msp {
+namespace FS {
 
 class Path;
 
@@ -24,24 +21,9 @@ struct Filename
 
 Path fix_case(const Path &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
-void rmdir(const Path &path);
-
-/// Removes a directory and anything it contains
-void rmdirs(const Path &path);
-
 /// Removes a file
 void unlink(const Path &path);
 
-/// Lists the contents of a directory
-std::list<std::string> list_files(const Path &path);
-
 Filename splitext(const std::string &);
 int fnmatch(const std::string &, const Path &);
 
@@ -50,36 +32,10 @@ Path relative(const Path &path, const Path &base);
 
 std::string basename(const std::string &);
 
-/// Tests for existence of a file
-bool exists(const Path &path);
-
-/// Tests whether a path refers to an existing directory
-bool is_dir(const Path &paht);
-
-/**
-Gets information about a file.  Returns 0 on success or -1 on error.  This
-version can be used to check for file existence and get information in one
-call.
-*/
-int stat(const Path &fn, struct stat &st);
-
-/**
-Returns information about a file.  This version throws an exception if an error
-occurs.
-*/
-struct stat stat(const Path &fn);
-
-Path getcwd();
-
-/// Returns the user's home directory
-Path get_home_dir();
-
-/// Changes the current working directory
-void chdir(const Path &);
-
 inline bool is_windows_drive(const std::string &p)
 { return (p.size()==2 && ((p[0]>='A' && p[0]<='Z') || (p[0]>='a' && p[0]<='z')) && p[1]==':'); }
 
+} // namespace FS
 } // namespace Msp
 
 #endif