ZenLib
Dir.h
Go to the documentation of this file.
1 /* Copyright (c) MediaArea.net SARL. All Rights Reserved.
2  *
3  * Use of this source code is governed by a zlib-style license that can
4  * be found in the License.txt file in the root of the source tree.
5  */
6 
7 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8 //
9 // Directories functions
10 //
11 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12 
13 //---------------------------------------------------------------------------
14 #ifndef ZenLib_DirH
15 #define ZenLib_DirH
16 //---------------------------------------------------------------------------
17 
18 //---------------------------------------------------------------------------
19 #include "ZenLib/ZtringList.h"
20 //---------------------------------------------------------------------------
21 
22 namespace ZenLib
23 {
24 
25 //***************************************************************************
26 /// @brief Directory manipulation
27 //***************************************************************************
28 
29 class Dir
30 {
31 public :
32  //---------------------------------------------------------------------------
33  /// @brief Options for Open method
34  enum dirlist_t
35  {
36  Nothing = 0x00, ///<
37  Include_Files = 0x01, ///< Include files
38  Include_Dirs = 0x02, ///< Include directories
39  Include_Hidden = 0x04, ///< Include hidden files
40  Parse_SubDirs = 0x10 ///< Parse subdirectories
41  };
42 
43  //Constructor/Destructor
44 
45  //Open/close
47 
48  //Helpers
49  static bool Exists(const Ztring &Dir_Name);
50  static bool Create(const Ztring &Dir_Name);
51 };
52 
53 #if defined WINDOWS && !defined WINDOWS_UWP
54 class GetAllFileNames_Private;
55 class GetAllFileNames
56 {
57 public:
58  //Constructor/Destructor
59  GetAllFileNames();
60  ~GetAllFileNames();
61 
62  //
63  void Start (const Ztring &Dir_Name, Dir::dirlist_t Options=(Dir::dirlist_t)(Dir::Include_Files|Dir::Parse_SubDirs));
64  bool Next (Ztring& Name);
65  void Close ();
66 
67 private:
68  GetAllFileNames_Private* p;
69 };
70 #endif //WINDOWS && !WINDOWS_UWP
71 
72 } //NameSpace
73 
74 #endif
ZenLib::Dir
Directory manipulation.
Definition: Dir.h:29
ZtringList.h
ZenLib::Dir::Include_Hidden
@ Include_Hidden
Include hidden files.
Definition: Dir.h:39
ZenLib::Dir::Include_Dirs
@ Include_Dirs
Include directories.
Definition: Dir.h:38
ZenLib::Dir::Parse_SubDirs
@ Parse_SubDirs
Parse subdirectories.
Definition: Dir.h:40
ZenLib::Dir::Create
static bool Create(const Ztring &Dir_Name)
ZenLib::Ztring
String manipulation (based on std::(w)string)
Definition: Ztring.h:49
ZenLib::Dir::GetAllFileNames
static ZtringList GetAllFileNames(const Ztring &Dir_Name, dirlist_t Options=(dirlist_t)(Include_Files|Parse_SubDirs))
ZenLib
Definition: BitStream.h:23
ZenLib::Dir::Include_Files
@ Include_Files
Include files.
Definition: Dir.h:37
ZenLib::Dir::dirlist_t
dirlist_t
Options for Open method.
Definition: Dir.h:34
ZenLib::Dir::Nothing
@ Nothing
Definition: Dir.h:36
ZenLib::Dir::Exists
static bool Exists(const Ztring &Dir_Name)
ZenLib::ZtringList
Vector of strings manipulation (based on std::vector<std::(w)string>)
Definition: ZtringList.h:30