]> git.tdb.fi Git - libs/core.git/blobdiff - source/utils.h
Add rename function
[libs/core.git] / source / utils.h
index a6d956869bf633d531d35e24636b8b37519e35f4..c582c2217ba7b489bbd43fb0801904ffb134c013 100644 (file)
@@ -8,11 +8,11 @@ Distributed under the LGPL
 #ifndef MSP_FS_UTILS_H_
 #define MSP_FS_UTILS_H_
 
+#include "path.h"
+
 namespace Msp {
 namespace FS {
 
-class Path;
-
 /// Extracts the last component of the path.
 std::string basename(const Path &);
 
@@ -37,9 +37,18 @@ filesystem.
 */
 Path fix_case(const Path &path);
 
+/// Reads the contents of a symbolic link
+Path readlink(const Path &path);
+
+/// Resolves all symlinks from a path.  Will always return an absolute path.
+Path realpath(const Path &path);
+
 /// Removes a file
 void unlink(const Path &path);
 
+/// Renames a file.  Existing file, if any, is overwritten.
+void rename(const Path &from, const Path &to);
+
 /// Makes a path relative to some base path.  That is, base/result==path.
 Path relative(const Path &path, const Path &base);