1// OffsetFile.h 2 3#ifndef OFFSET_FILE_H 4#define OFFSET_FILE_H 5 6#include <DataIO.h> 7#include <File.h> 8 9class OffsetFile : public BPositionIO { 10public: 11 OffsetFile(); 12 OffsetFile(const BFile& file, off_t offset); 13 virtual ~OffsetFile(); 14 15 status_t SetTo(const BFile& file, off_t offset); 16 void Unset(); 17 status_t InitCheck() const; 18 19// ssize_t Read(void *buffer, size_t size); 20// ssize_t Write(const void *buffer, size_t size); 21 ssize_t ReadAt(off_t pos, void *buffer, size_t size); 22 ssize_t WriteAt(off_t pos, const void *buffer, 23 size_t size); 24 off_t Seek(off_t position, uint32 seekMode); 25 off_t Position() const; 26 status_t SetSize(off_t size); 27 status_t GetSize(off_t* size); 28 29 off_t GetOffset() const; 30 31private: 32 BFile fFile; 33 off_t fOffset; 34 off_t fCurrentPosition; 35}; 36 37#endif // OFFSET_FILE_H 38