00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef FXDIR_H
00022 #define FXDIR_H
00023
00024 namespace FX {
00025
00026
00028 class FXAPI FXDir {
00029 private:
00030 FXuval space[256];
00031 private:
00032 FXDir(const FXDir&);
00033 FXDir &operator=(const FXDir&);
00034 public:
00035
00037 enum {
00038 MatchAll = 0,
00039 NoFiles = 1,
00040 NoDirs = 2,
00041 AllFiles = 4,
00042 AllDirs = 8,
00043 HiddenFiles = 16,
00044 HiddenDirs = 32,
00045 NoParent = 64,
00046 CaseFold = 128
00047 };
00048
00049 public:
00050
00052 FXDir();
00053
00055 FXDir(const FXString& path);
00056
00058 virtual FXbool open(const FXString& path);
00059
00061 virtual FXbool isOpen() const;
00062
00064 virtual FXbool next(FXString& name);
00065
00067 virtual void close();
00068
00069
00071 static FXbool create(const FXString& path,FXuint perm=FXIO::AllFull);
00072
00074 static FXbool remove(const FXString& path);
00075
00077 static FXbool rename(const FXString& srcpath,const FXString& dstpath);
00078
00079
00085 static FXint listFiles(FXString*& filelist,const FXString& path,const FXString& pattern="*",FXuint flags=FXDir::MatchAll);
00086
00091 static FXint listDrives(FXString*& drivelist);
00092
00093
00095 static FXbool createDirectories(const FXString& path,FXuint perm=FXIO::AllFull);
00096
00097
00099 virtual ~FXDir();
00100 };
00101
00102
00103 }
00104
00105 #endif