|
Canorus
0.7
|
00001 00008 #ifndef FILE_H_ 00009 #define FILE_H_ 00010 00011 #include <QThread> 00012 #include <QFile> 00013 00014 class QTextStream; 00015 00016 class CAFile : public QThread { 00017 public: 00018 CAFile(); 00019 virtual ~CAFile(); 00020 00021 inline const int status() { return _status; } 00022 inline const int progress() { return _progress; } 00023 virtual const QString readableStatus() = 0; 00024 void setStreamFromFile( const QString filename ); 00025 void setStreamToFile( const QString filename ); 00026 void setStreamFromDevice( QIODevice* device ); 00027 void setStreamToDevice( QIODevice* device ); 00028 00029 protected: 00030 inline void setStatus( const int status ) { _status = status; } 00031 inline void setProgress( const int progress ) { _progress = progress; } 00032 00033 inline QTextStream *stream() { return _stream; } 00034 virtual void setStream( QTextStream *stream ) { _stream = stream; } 00035 00036 inline QFile *file() { return _file; } 00037 inline void setFile( QFile *file ) { _file = file; } 00038 00039 private: 00040 int _status; // status number 00041 int _progress; // percentage of the work already done 00042 QTextStream *_stream; 00043 QFile *_file; 00044 bool _deleteStream; // whether to delete stream when destroyed. 00045 }; 00046 00047 #endif /* FILE_H_ */
1.8.0