X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/181dd701faf12eb62d2572dddca5af72cbd04022..4311588bfe40e15dc83154b9653ebc432b42baeb:/interface/wx/filename.h diff --git a/interface/wx/filename.h b/interface/wx/filename.h index 72bf9273e8..3f40781ab7 100644 --- a/interface/wx/filename.h +++ b/interface/wx/filename.h @@ -42,7 +42,7 @@ enum wxPathNormalize //! and in addition under Windows @c "%var%" is also. wxPATH_NORM_ENV_VARS = 0x0001, - wxPATH_NORM_DOTS = 0x0002, //!< Squeeze all @c ".." and @c "." and prepend the current working directory. + wxPATH_NORM_DOTS = 0x0002, //!< Squeeze all @c ".." and @c ".". wxPATH_NORM_TILDE = 0x0004, //!< Replace @c "~" and @c "~user" (Unix only). wxPATH_NORM_CASE = 0x0008, //!< If the platform is case insensitive, make lowercase the path. wxPATH_NORM_ABSOLUTE = 0x0010, //!< Make the path absolute. @@ -819,6 +819,24 @@ public: static bool IsPathSeparator(wxChar ch, wxPathFormat format = wxPATH_NATIVE); + /** + Returns @true if the volume part of the path is a unique volume name. + + This function will always return @false if the path format is not + wxPATH_DOS. + + Unique volume names are Windows volume identifiers which remain the same + regardless of where the volume is actually mounted. Example of a path + using a volume name could be + @code + \\?\Volume{8089d7d7-d0ac-11db-9dd0-806d6172696f}\Program Files\setup.exe + @endcode + + @since 2.9.1 + */ + static bool IsMSWUniqueVolumeNamePath(const wxString& path, + wxPathFormat format = wxPATH_NATIVE); + /** Returns @true if this filename is not absolute. */ @@ -892,7 +910,7 @@ public: @return Returns @true if the directory was successfully created, @false otherwise. */ - bool Mkdir(int perm = wxS_DIR_DEFAULT, int flags = 0); + bool Mkdir(int perm = wxS_DIR_DEFAULT, int flags = 0) const; /** Creates a directory. @@ -1009,7 +1027,7 @@ public: @return Returns @true if the directory was successfully deleted, @false otherwise. */ - bool Rmdir(int flags = 0); + bool Rmdir(int flags = 0) const; /** Deletes the specified directory from the file system. @@ -1035,7 +1053,7 @@ public: /** Changes the current working directory. */ - bool SetCwd(); + bool SetCwd() const; /** Changes the current working directory. @@ -1074,13 +1092,23 @@ public: */ void SetName(const wxString& name); + /** + Sets the full path. + + The @a path argument includes both the path (and the volume, if + supported by @a format) and the name and extension. + + @see GetPath() + */ + void SetPath(const wxString& path, wxPathFormat format = wxPATH_NATIVE); + /** Sets the file creation and last access/modification times (any of the pointers may be @NULL). */ bool SetTimes(const wxDateTime* dtAccess, const wxDateTime* dtMod, - const wxDateTime* dtCreate); + const wxDateTime* dtCreate) const; /** Sets the volume specifier. @@ -1162,7 +1190,7 @@ public: /** Sets the access and modification times to the current moment. */ - bool Touch(); + bool Touch() const; /** Returns @true if the filenames are different. The string @e filenames