X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/395f3aa8bdd6b9844d59ba159b597cef61638caf..b5fe7ca67bf3121959a0b5a59afd00c1708f2f03:/interface/wx/filename.h diff --git a/interface/wx/filename.h b/interface/wx/filename.h index 774c6b76df..fcec353020 100644 --- a/interface/wx/filename.h +++ b/interface/wx/filename.h @@ -53,6 +53,24 @@ enum wxPathNormalize wxPATH_NORM_ALL = 0x00ff & ~wxPATH_NORM_CASE }; +/** + Flags for wxFileName::Rmdir(). + */ +enum +{ + /// Delete the specified directory and its subdirectories if they are empty. + wxPATH_RMDIR_FULL = 1, + + /** + Delete the specified directory and all the files and subdirectories in it + recursively. + + This flag is obviously @b dangerous and should be used with care and + after asking the user for confirmation. + */ + wxPATH_RMDIR_RECURSIVE = 2 +}; + /** The return value of wxFileName::GetSize() in case of error. */ @@ -330,7 +348,7 @@ public: @see GetCwd() */ - static void AssignCwd(const wxString& volume = wxEmptyString); + void AssignCwd(const wxString& volume = wxEmptyString); /** Sets this file name object to the given directory name. @@ -384,6 +402,7 @@ public: */ void ClearExt(); + //@{ /** Returns a temporary file name starting with the given @e prefix. If the @a prefix is an absolute path, the temporary file is created in this @@ -408,6 +427,9 @@ public: */ static wxString CreateTempFileName(const wxString& prefix, wxFile* fileTemp = NULL); + static wxString CreateTempFileName(const wxString& prefix, + wxFFile* fileTemp = NULL); + //@} /** Returns @true if the directory with this name exists. @@ -617,7 +639,7 @@ public: not be read (because e.g. the file is locked by another process) the returned value is ::wxInvalidSize. */ - const static wxULongLong GetSize(const wxString& filename); + static wxULongLong GetSize(const wxString& filename); /** Returns the directory used for temporary files. @@ -978,13 +1000,31 @@ public: /** Deletes the specified directory from the file system. + + @param flags + Can contain one of wxPATH_RMDIR_FULL or wxPATH_RMDIR_RECURSIVE. By + default contains neither so the directory will not be removed + unless it is empty. + + @return Returns @true if the directory was successfully deleted, @false + otherwise. */ - bool Rmdir(); + bool Rmdir(int flags = 0); /** Deletes the specified directory from the file system. + + @param dir + The directory to delete + @param flags + Can contain one of wxPATH_RMDIR_FULL or wxPATH_RMDIR_RECURSIVE. By + default contains neither so the directory will not be removed + unless it is empty. + + @return Returns @true if the directory was successfully deleted, @false + otherwise. */ - static bool Rmdir(const wxString& dir); + static bool Rmdir(const wxString& dir, int flags = 0); /** Compares the filename using the rules of this platform. @@ -1066,18 +1106,19 @@ public: trailing dot, but empty. If you need to cope with such cases, you should use @a hasExt instead of relying on testing whether @a ext is empty or not. */ - static void SplitPath(const wxString& fullpath, wxString* volume, + static void SplitPath(const wxString& fullpath, + wxString* volume, wxString* path, wxString* name, wxString* ext, - bool hasExt = NULL, + bool* hasExt = NULL, wxPathFormat format = wxPATH_NATIVE); static void SplitPath(const wxString& fullpath, wxString* volume, wxString* path, wxString* name, wxString* ext, - wxPathFormat format = wxPATH_NATIVE); + wxPathFormat format); static void SplitPath(const wxString& fullpath, wxString* path, wxString* name, @@ -1135,4 +1176,3 @@ public: */ wxFileName& operator=(const wxString& filename); }; -