#ifndef __FILEIO_H_ #define __FILEIO_H_ #include //#include "Graphics.h" //#include "Vector.h" namespace exh { class DataFile { public: DataFile(void); ~DataFile(void); char *filename; char *data; unsigned int length; }; class FileIO { private: std::fstream f; bool isOpen, isDataPackFile; DataFile *dataFile; unsigned int dataFilePoint; int read(char *ptr, size_t nmemb); public: FileIO(void); FileIO(std::string _filename); ~FileIO(void); const char *readCStr(void); const char *readLine(void); exh::Vector readVector(void); float readFloat(void); Sint32 readInt32(void); Uint32 readUInt32(void); Sint16 readInt16(void); Uint16 readUInt16(void); Sint8 readInt8(void); Uint8 readUInt8(void); signed char readChar(void); unsigned char readUChar(void); void readChar(char *ptr, Uint32 nmemb); char* readFile(void); void readSkip(int skip); void writeCStr(const char* var); void writeVector(exh::Vector vec); void writeFloat(float var); void writeInt32(Sint32 var); void writeUInt32(Uint32 var); void writeInt16(Sint16 var); void writeUInt16(Uint16 var); void writeInt8(Sint8 var); void writeUInt8(Uint8 var); void writeUChar(unsigned char var); void writeChar(signed char var); void writeFile(const char *data, unsigned int length); void setCursor(unsigned int _dataFilePoint); unsigned int getCursor(void); char *getCursorCharPointer(void); DataFile *getDataFile(void); unsigned int getLength(void); std::string getFilename(void); bool open(std::string filename, std::ios::openmode mode = std::ios::in | std::ios::binary); void close(void); bool isEnd(void); bool operator == (bool _isOpen); bool operator != (bool _isOpen); bool operator ! (void); }; } #endif