X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e8f3bf98d0ce324b7c4212ed4c60174110294c8c..de3d7096fe1fa3b9240e344665d3c77d76955a83:/include/wx/dir.h diff --git a/include/wx/dir.h b/include/wx/dir.h index fa50bb2568..83dab66454 100644 --- a/include/wx/dir.h +++ b/include/wx/dir.h @@ -14,6 +14,7 @@ #include "wx/longlong.h" #include "wx/string.h" +#include "wx/filefn.h" // for wxS_DIR_DEFAULT class WXDLLIMPEXP_FWD_BASE wxArrayString; @@ -83,8 +84,6 @@ class WXDLLIMPEXP_FWD_BASE wxDirData; class WXDLLIMPEXP_BASE wxDir { public: - // test for existence of a directory with the given name - static bool Exists(const wxString& dir); // ctors // ----- @@ -95,18 +94,26 @@ public: // opens the directory for enumeration, use IsOpened() to test success wxDir(const wxString& dir); - // dtor cleans up the associated resources - ~wxDir(); + // dtor calls Close() automatically + ~wxDir() { Close(); } // open the directory for enumerating bool Open(const wxString& dir); + // close the directory, Open() can be called again later + void Close(); + // returns true if the directory was successfully opened bool IsOpened() const; // get the full name of the directory (without '/' at the end) wxString GetName() const; + // Same as GetName() but does include the trailing separator, unless the + // string is empty (only for invalid directories). + wxString GetNameWithSep() const; + + // file enumeration routines // ------------------------- @@ -151,6 +158,20 @@ public: static wxULongLong GetTotalSize(const wxString &dir, wxArrayString *filesSkipped = NULL); #endif // wxUSE_LONGLONG + + // static utilities for directory management + // (alias to wxFileName's functions for dirs) + // ----------------------------------------- + + // test for existence of a directory with the given name + static bool Exists(const wxString& dir); + + static bool Make(const wxString &dir, int perm = wxS_DIR_DEFAULT, + int flags = 0); + + static bool Remove(const wxString &dir, int flags = 0); + + private: friend class wxDirData;