Go to the documentation of this file.00001 #ifndef IZ_FILE_H
00002 #define IZ_FILE_H 1
00003
00004 #include <cstddef>
00005
00006 namespace IZ
00007 {
00008 class InputFile
00009 {
00010 public:
00011 explicit InputFile(const char* filename);
00012
00013 ~InputFile();
00014
00015 bool isReadable() const;
00016
00017 const unsigned char* data() const;
00018
00019 size_t dataSize() const;
00020
00021 private:
00022 class Private;
00023
00024 Private* const d;
00025 };
00026
00027 class OutputFile
00028 {
00029 public:
00030 explicit OutputFile(const char* filename);
00031
00032 ~OutputFile();
00033
00034 bool isWritable() const;
00035
00036 unsigned char* prepareData(size_t maxSize);
00037
00038 void commitData(unsigned char* data, size_t size);
00039
00040 private:
00041 class Private;
00042
00043 Private* const d;
00044 };
00045 }
00046
00047 #endif