X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffs%2Futils.h;h=9c4bb5ca47fdeed1035a341d5e06e2bac54b00f8;hb=6af098355f2b037a6f8084f9f6c741e462ffa614;hp=e518d35cf225da8e38692e5b09dffe2d21793af5;hpb=5d51c374869f13f762039f58c03f3c5d75c12f07;p=libs%2Fcore.git diff --git a/source/fs/utils.h b/source/fs/utils.h index e518d35..9c4bb5c 100644 --- a/source/fs/utils.h +++ b/source/fs/utils.h @@ -1,50 +1,51 @@ #ifndef MSP_FS_UTILS_H_ #define MSP_FS_UTILS_H_ +#include #include "path.h" namespace Msp { namespace FS { /// Extracts the last component of the path. -std::string basename(const Path &); +MSPCORE_API std::string basename(const Path &); /// Removes the last component from the path. -Path dirname(const Path &); +MSPCORE_API Path dirname(const Path &); /** Returns the base part of a filename. This includes everything up to the last dot, but not the dot itself. */ -std::string basepart(const std::string &); +MSPCORE_API std::string basepart(const std::string &); /** Returns the extension part of a filename. This includes the last dot and everything after it. */ -std::string extpart(const std::string &); +MSPCORE_API std::string extpart(const std::string &); /// Fixes the case of a path to match files / directories on the filesystem. -Path fix_case(const Path &path); +MSPCORE_API Path fix_case(const Path &path); /// Reads the contents of a symbolic link -Path readlink(const Path &path); +MSPCORE_API Path readlink(const Path &path); /// Resolves all symlinks from a path. Will always return an absolute path. -Path realpath(const Path &path); +MSPCORE_API Path realpath(const Path &path); /// Removes a file -void unlink(const Path &path); +MSPCORE_API void unlink(const Path &path); /// Renames a file. Existing file, if any, is overwritten. -void rename(const Path &from, const Path &to); +MSPCORE_API void rename(const Path &from, const Path &to); /** Makes a path relative to some base path. That is, base/result==path. Both paths must be either absolute or relative. */ -Path relative(const Path &path, const Path &base); +MSPCORE_API Path relative(const Path &path, const Path &base); /// Returns the longest prefix shared by both paths. -Path common_ancestor(const Path &, const Path &); +MSPCORE_API Path common_ancestor(const Path &, const Path &); /** Determines how many levels a path is below another. Returns -1 if path is not a descendant of parent. Both paths must be either absolute or relative. */ -int descendant_depth(const Path &path, const Path &parent); +MSPCORE_API int descendant_depth(const Path &path, const Path &parent); } // namespace FS } // namespace Msp