00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef FXFILE_H
00025 #define FXFILE_H
00026
00027 #ifndef FXIO_H
00028 #include "FXIO.h"
00029 #endif
00030 #include "QFile.h"
00031
00032
00033 namespace FX {
00034
00035
00039 class FXAPI FXFile : public FXIO {
00040 private:
00041 QFile f;
00042 FXFile(const FXFile&);
00043 FXFile &operator=(const FXFile&);
00044 public:
00045
00047 FXDEPRECATEDEXT FXFile(){ }
00048
00050
00051
00053 FXDEPRECATEDEXT FXFile(const FXString& file,FXuint mode=FXIO::Reading,FXuint perm=FXIO::OwnerReadWrite|FXIO::GroupReadWrite|FXIO::OtherReadWrite);
00054
00056 QFile &qfile() { return f; }
00057 const QFile &qfile() const { return f; }
00058
00060 virtual bool open(const FXString& file,FXuint mode=FXIO::Reading,FXuint perm=FXIO::OwnerReadWrite|FXIO::GroupReadWrite|FXIO::OtherReadWrite);
00061
00063
00064
00066 virtual FXlong position() const;
00067
00069 virtual FXlong position(FXlong offset,FXuint from=FXIO::Begin);
00070
00072 virtual FXival readBlock(void* data,FXival count);
00073
00075 virtual FXival writeBlock(const void* data,FXival count);
00076
00078 virtual FXlong truncate(FXlong size);
00079
00081 virtual bool flush();
00082
00084 virtual FXlong size();
00085
00087 virtual bool eof();
00088
00090 virtual bool close();
00091
00092
00094 static bool create(const FXString& file,FXuint perm=FXIO::OwnerReadWrite|FXIO::GroupReadWrite|FXIO::OtherReadWrite);
00095
00097 static bool remove(const FXString& file);
00098
00100 static bool rename(const FXString& srcfile,const FXString& dstfile);
00101
00103 static bool link(const FXString& srcfile,const FXString& dstfile);
00104
00106 static FXString symlink(const FXString& file);
00107
00109 static bool symlink(const FXString& srcfile,const FXString& dstfile);
00110
00112 static bool identical(const FXString& file1,const FXString& file2);
00113
00115 static bool copy(const FXString& srcfile,const FXString& dstfile,bool overwrite=false);
00116
00118 static bool concat(const FXString& srcfile1,const FXString& srcfile2,const FXString& dstfile,bool overwrite=false);
00119
00120
00121
00123 static bool copyFiles(const FXString& srcfile,const FXString& dstfile,bool overwrite=false);
00124
00126 static bool moveFiles(const FXString& srcfile,const FXString& dstfile,bool overwrite=false);
00127
00129 static bool removeFiles(const FXString& path,bool recursive=false);
00130
00132 virtual ~FXFile();
00133 };
00134
00135 }
00136
00137 #endif