commore  1.0.6-SNAPSHOT
All Classes Namespaces Functions Variables Typedefs Enumerations Pages
Directory.h
1 //
2 // Copyright (c) 2006-2014 Raphael David / CANTOR
3 //
4 
5 #ifndef CMR_DIRECTORY_INCLUDED
6 #define CMR_DIRECTORY_INCLUDED
7 
8 #include "Commore.h"
9 #include "Path.h"
10 
11 namespace commore
12 {
16  class CMREXD DirectoryListener
17  {
18  public:
24  DirectoryListener(const Directory& dir, bool all = false);
26  DirectoryListener& operator=(const DirectoryListener& dl);
28 
29  public:
35  bool wait(TimePeriod timeout);
39  void abort();
43  bool is_ok();
44 
45  private:
46  class Impl;
47  Impl* impl_;
48 
49  };
50 
51 
58  class CMREXD Directory : public commore::AString
59  {
60  public:
61  Directory();
67  Directory(const char* path);
68  Directory(const AString& path);
69  Directory(const AString& p0, const AString& p1,
70  const AString& p2 = "", const AString& p3 = "",
71  const AString& p4 = "", const AString& p5 = "",
72  const AString& p6 = "", const AString& p7 = "");
76  bool exists() const;
82  int get_files(ListPath& files, bool rec = false) const;
89  int get_files(ListPath& files, const AString& pattern, bool rec = false) const;
90  int get_files(ListPath& files, const AChar* pattern, bool rec = false) const;
97  int get_files(ListPath& files, ListDirectory& dirs, bool rec = false) const;
103  int get_directories(ListDirectory& dirs, bool rec = false) const;
104 
109  bool force_remove() const;
110 
115  bool force_empty() const;
122  int delete_files(const AChar* pattern, bool rec = false) const;
123 
128  bool move_to(const AChar* dest) const;
129 
134  bool create() const;
135  bool create(bool all_access) const;
136 
141  AString up() ;
142 
146  AString top() const;
147 
152  bool down(const AString& name);
163  void set_full_path();
164 
168  void set_current_dir();
169 
175  void set_temp_path(bool subdir = false);
181  DirectoryListener get_listener(bool all = false);
182 
183  public:
187  static bool force_remove(const AString& path);
188  static bool force_empty(const AString& path);
189  static bool create(const AString& path);
190  static bool exists(const AString& path);
191 
192  private:
193  // OS dependant
194  friend class Path;
195  static const char DIR_SEP;
196  static const char* const SDIR_SEP;
197 
198  // utility
199  static bool MatchFileName(const char* pattern, const char* fileName);
200 
201 
202  };
203 };
204 
205 #endif
Definition: Directory.h:58
Definition: AString.h:39
Definition: Time.h:21
Definition: List.h:23
Definition: Directory.h:16
Definition: Path.h:19