/* * Copyright 2008, Haiku. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: * Michael Pfeiffer * Fredrik Modéen */ #ifndef FILE_READ_WRITE_H #define FILE_READ_WRITE_H #include #include #include class FileReadWrite { public: FileReadWrite(BFile* file, int32 sourceEncoding = -1); // -1 means "default" encoding bool Next(BString& string); status_t Write(const BString& contents) const; void SetEncoding(int32 sourceEncoding); uint32 GetEncoding() const; private: BFile* fFile; int32 fSourceEncoding; char fBuffer[4096]; off_t fPositionInBuffer; ssize_t fAmtRead; }; #endif //FILE_READ_WRITE_H