X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/774ef7e3b79a88c5a54428dd990b5f262a822b1a..8e77fd8bca165aab9709649d79a7cbc6a172d4e1:/include/wx/dir.h diff --git a/include/wx/dir.h b/include/wx/dir.h index 4ac1dffbf5..de389aef89 100644 --- a/include/wx/dir.h +++ b/include/wx/dir.h @@ -22,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 @@ -94,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 // ------------------------- @@ -155,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); @@ -163,7 +173,7 @@ public: int flags = 0); static bool Remove(const wxString &dir, int flags = 0); - + private: friend class wxDirData;