FAST.Framework  1.0.0
FDirectory.h
1 /******************************************************************************
2 **
3 ** FAST.Framework
4 **
5 ** Created: 2023-10-11
6 ** Author: Boris Fast
7 ** Mail: support@fast-framework.com
8 **
9 ******************************************************************************/
10 
11 #ifndef FDIRECTORY_H
12 #define FDIRECTORY_H
13 
14 using namespace std;
15 
16 #include "FObject.h"
17 #include "FString.h"
18 
22 class FDirectory : public FObject
23 {
24  public:
25  FDirectory(const FString& path);
26  FDirectory();
27  virtual ~FDirectory() = default;
28 
29  Boolean Create() const;
30  FDirectory CreateSubDirectory(const FString& path) const;
31  Boolean Delete(Boolean recursive = false) const;
32  Boolean Exists() const;
33  Boolean MoveTo(const FString& path);
34 
35  FString Name() const;
36  FString FullName() const;
37  FDirectory Parent() const;
38 
39  FDateTime CreatedAt() const;
40  FDateTime LastAccessAt() const;
41  FDateTime LastWriteAt() const;
42 
43  FList<FDirectory> Directories() const;
44  FList<FFile> Files() const;
45 
46  static Boolean Create(const FString& path);
47  static Boolean Delete(const FString& path, Boolean recursive);
48  static Boolean Exists(const FString& path);
49  static Boolean MoveTo(const FString& oldPath, const FString& newPath);
50 
51  static FList<FDirectory> Directories(const FString& path);
52  static FList<FFile> Files(const FString& path);
53 
54  const type_info& GetType() override;
55  FString GetName() const override;
56 
57  private:
58  FString path;
59 };
60 
61 #endif // FDIRECTORY_H
Definition: FDateTime.h:48
Definition: FDirectory.h:23
virtual ~FDirectory()=default
Destroy directory object.
Definition: FList.h:26
Definition: FObject.h:50
Definition: FString.h:22