00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00033 #ifndef PG_FILE_H
00034 #define PG_FILE_H
00035
00036 #include "paragui.h"
00037 #include <string>
00038
00039
00040 #ifdef getc
00041 #undef getc
00042 #endif
00043
00050 class DECLSPEC PG_File {
00051 protected:
00057 PG_File(void* f);
00058
00059 public:
00060 ~PG_File();
00061
00062
00063
00070 int read(void *buffer, unsigned int bytestoread);
00071
00078 int write(void *buffer, unsigned int bytestowrite);
00079
00081
00085 int write(std::string &buffer);
00086
00088
00092 int write(const char *buffer);
00093
00101 int read(void *buffer, unsigned int objSize, unsigned int objCount);
00102
00110 int write(void *buffer, unsigned int objSize, unsigned int objCount);
00111
00116 bool eof();
00117
00122 int tell();
00123
00129 bool seek(int pos);
00130
00135 int fileLength();
00136
00140 char getc();
00141
00148 std::string getline();
00149
00156 void putline(const std::string& line);
00157
00158 private:
00159
00160 void* file;
00161
00162 friend class PG_FileArchive;
00163 };
00164
00165 #endif