]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dir.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / dir.h
index 3eafb364574ff80382a7007b7a2dfb2e0ca360e3..d9a9c0dae79321473c0ba45117def7407ab32d7f 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        dir.h
 // Purpose:     interface of wxDir and wxDirTraverser
 // Author:      wxWidgets team
 // Name:        dir.h
 // Purpose:     interface of wxDir and wxDirTraverser
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -94,8 +93,8 @@ public:
 
 
 /**
 
 
 /**
-    These flags define what kind of filenames are included in the list of files
-    enumerated by wxDir::GetFirst() and wxDir::GetNext().
+    These flags affect the behaviour of GetFirst/GetNext() and Traverse(),
+    determining what types are included in the list of items they produce.
 */
 enum wxDirFlags
 {
 */
 enum wxDirFlags
 {
@@ -104,8 +103,28 @@ enum wxDirFlags
     wxDIR_HIDDEN    = 0x0004,   ///< Includes hidden files.
     wxDIR_DOTDOT    = 0x0008,   ///< Includes "." and "..".
 
     wxDIR_HIDDEN    = 0x0004,   ///< Includes hidden files.
     wxDIR_DOTDOT    = 0x0008,   ///< Includes "." and "..".
 
-    //! Combination of the @c wxDIR_FILES, @c wxDIR_DIRS, @c wxDIR_HIDDEN flags
-    //! defined above.
+    /**
+        Don't follow symbolic links during the directory traversal.
+
+        This flag is ignored under systems not supporting symbolic links (i.e.
+        non-Unix ones).
+
+        Notice that this flag is @e not included in wxDIR_DEFAULT and so the
+        default behaviour of wxDir::Traverse() is to follow symbolic links,
+        even if they lead outside of the directory being traversed.
+
+        @since 2.9.5
+     */
+    wxDIR_NO_FOLLOW = 0x0010,
+
+    /**
+        Default directory traversal flags include both files and directories,
+        even hidden.
+
+        Notice that by default wxDIR_NO_FOLLOW is @e not included, meaning that
+        symbolic links are followed by default. If this is not desired, you
+        must pass that flag explicitly.
+     */
     wxDIR_DEFAULT   = wxDIR_FILES | wxDIR_DIRS | wxDIR_HIDDEN
 };
 
     wxDIR_DEFAULT   = wxDIR_FILES | wxDIR_DIRS | wxDIR_HIDDEN
 };
 
@@ -160,11 +179,23 @@ public:
     wxDir(const wxString& dir);
 
     /**
     wxDir(const wxString& dir);
 
     /**
-        Destructor cleans up the associated resources. It is not virtual and so
-        this class is not meant to be used polymorphically.
+        Destructor cleans up the associated resources by calling Close().
+
+        It is not virtual and so this class is not meant to be used
+        polymorphically.
     */
     ~wxDir();
 
     */
     ~wxDir();
 
+    /**
+        Close the directory.
+
+        The object can't be used after closing it, but Open() may be called
+        again to reopen it later.
+
+        @since 2.9.5
+    */
+    void Close();
+
     /**
         Test for existence of a directory with the given name.
     */
     /**
         Test for existence of a directory with the given name.
     */
@@ -225,7 +256,7 @@ public:
 
         Notice that in spite of this the last character of the returned string
         can still be the path separator if this directory is the root one.
 
         Notice that in spite of this the last character of the returned string
         can still be the path separator if this directory is the root one.
-        Because of this, don't append ::wxFILE_SEP_PATH to the returned value
+        Because of this, don't append @c wxFILE_SEP_PATH to the returned value
         if you do need a slash-terminated directory name but use
         GetNameWithSep() instead to avoid having duplicate consecutive slashes.
     */
         if you do need a slash-terminated directory name but use
         GetNameWithSep() instead to avoid having duplicate consecutive slashes.
     */
@@ -234,7 +265,7 @@ public:
     /**
         Returns the name of the directory with the path separator appended.
 
     /**
         Returns the name of the directory with the path separator appended.
 
-        The last character of the returned string is always ::wxFILE_SEP_PATH
+        The last character of the returned string is always @c wxFILE_SEP_PATH
         unless the string is empty, indicating that this directory is invalid.
 
         @see GetName()
         unless the string is empty, indicating that this directory is invalid.
 
         @see GetName()