summaryrefslogtreecommitdiff
path: root/include/Buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/Buffer.h')
-rw-r--r--include/Buffer.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/Buffer.h b/include/Buffer.h
index 316af13..8996b2d 100644
--- a/include/Buffer.h
+++ b/include/Buffer.h
@@ -11,7 +11,7 @@
class Buffer : public Handle {
public:
- Buffer();
+ Buffer(bool seekable = false);
Buffer(const Buffer &);
virtual ~Buffer();
virtual ssize_t write(const void *buf, size_t count) throw(GeneralException);
@@ -22,12 +22,16 @@ class Buffer : public Handle {
virtual Buffer operator=(const Buffer &);
virtual bool CanWatch() const;
virtual ssize_t GetSize() const;
- char operator[](size_t) const;
- char & operator[](size_t);
+ virtual bool CanSeek() const;
+ virtual off_t seek(off_t, int = SEEK_SET) throw (GeneralException);
+ virtual off_t tell() const;
+ Byte operator[](size_t) const;
+ Byte & operator[](size_t);
private:
- char * buffer, zero;
+ Byte * buffer, zero;
size_t realsiz, bufsiz, ptr;
+ bool seekable;
};
#endif