X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d38315df30415b030d93172123920d69c5c5e3b6..ab67e8874db324fab5223cc8d5dff8a8de3e2b77:/include/wx/dir.h?ds=sidebyside diff --git a/include/wx/dir.h b/include/wx/dir.h index 980e5f2138..de389aef89 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; @@ -21,14 +22,17 @@ class WXDLLIMPEXP_FWD_BASE wxArrayString; // constants // ---------------------------------------------------------------------------- -// these flags define what kind of filenames is included in the list of files -// enumerated by GetFirst/GetNext +// These flags affect the behaviour of GetFirst/GetNext() and Traverse(). +// They define what types are included in the list of items they produce. +// Note that wxDIR_NO_FOLLOW is relevant only on Unix and ignored under systems +// not supporting symbolic links. enum wxDirFlags { wxDIR_FILES = 0x0001, // include files wxDIR_DIRS = 0x0002, // include directories wxDIR_HIDDEN = 0x0004, // include hidden files wxDIR_DOTDOT = 0x0008, // include '.' and '..' + wxDIR_NO_FOLLOW = 0x0010, // don't dereference any symlink // by default, enumerate everything except '.' and '..' wxDIR_DEFAULT = wxDIR_FILES | wxDIR_DIRS | wxDIR_HIDDEN @@ -93,18 +97,25 @@ 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 // ------------------------- @@ -154,7 +165,7 @@ public: // 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); @@ -162,7 +173,7 @@ public: int flags = 0); static bool Remove(const wxString &dir, int flags = 0); - + private: friend class wxDirData;