Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef PDXLZ77STREAM_H_INCLUDED
00011 #define PDXLZ77STREAM_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 PDXLZ77Stream : public librevenge::RVNGInputStream
00021 {
00022
00023 PDXLZ77Stream(const PDXLZ77Stream &other);
00024 PDXLZ77Stream &operator=(const PDXLZ77Stream &other);
00025
00026 public:
00027 PDXLZ77Stream(librevenge::RVNGInputStream *stream);
00028 virtual ~PDXLZ77Stream();
00029
00030 virtual bool isStructured();
00031 virtual unsigned subStreamCount();
00032 virtual const char *subStreamName(unsigned id);
00033 virtual bool existsSubStream(const char *name);
00034 virtual librevenge::RVNGInputStream *getSubStreamByName(const char *name);
00035 virtual RVNGInputStream *getSubStreamById(unsigned id);
00036
00037 virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
00038 virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType);
00039 virtual long tell();
00040 virtual bool isEnd();
00041
00042 private:
00043 boost::scoped_ptr<librevenge::RVNGInputStream> m_stream;
00044 };
00045
00046 }
00047
00048 #endif // PDXLZ77STREAM_H_INCLUDED
00049
00050