Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef EBOOKZLIBSTREAM_H_INCLUDED
00011 #define EBOOKZLIBSTREAM_H_INCLUDED
00012
00013 #include <boost/scoped_ptr.hpp>
00014
00015 #include <librevenge-stream/librevenge-stream.h>
00016
00017 namespace libebook
00018 {
00019
00020 class EBOOKZlibStream : public librevenge::RVNGInputStream
00021 {
00022 public:
00023 EBOOKZlibStream(librevenge::RVNGInputStream *stream);
00024 virtual ~EBOOKZlibStream();
00025
00026 virtual bool isStructured();
00027 virtual unsigned subStreamCount();
00028 virtual const char *subStreamName(unsigned id);
00029 virtual bool existsSubStream(const char *name);
00030 virtual librevenge::RVNGInputStream *getSubStreamByName(const char *name);
00031 virtual RVNGInputStream *getSubStreamById(unsigned id);
00032
00033 virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
00034 virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType);
00035 virtual long tell();
00036 virtual bool isEnd();
00037
00038 private:
00039 boost::scoped_ptr<librevenge::RVNGInputStream> m_stream;
00040 };
00041
00042 }
00043
00044 #endif // EBOOKZLIBSTREAM_H_INCLUDED
00045
00046