Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef EBOOKUTF8STREAM_H_INCLUDED
00018 #define EBOOKUTF8STREAM_H_INCLUDED
00019
00020 #include <boost/scoped_ptr.hpp>
00021
00022 #include <libwpd-stream/WPXStream.h>
00023
00024 namespace libebook
00025 {
00026
00027 class EBOOKCharsetConverter;
00028
00029 class EBOOKUTF8Stream : public WPXInputStream
00030 {
00031 public:
00032 explicit EBOOKUTF8Stream(WPXInputStream *strm, EBOOKCharsetConverter *converter = 0);
00033 virtual ~EBOOKUTF8Stream();
00034
00035 virtual bool isOLEStream();
00036 virtual WPXInputStream *getDocumentOLEStream(const char *name);
00037
00038 virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
00039 virtual int seek(long offset, WPX_SEEK_TYPE seekType);
00040 virtual long tell();
00041 virtual bool atEOS();
00042
00043 private:
00044 boost::scoped_ptr<WPXInputStream> m_stream;
00045 };
00046
00047 }
00048
00049 #endif // EBOOKUTF8STREAM_H_INCLUDED
00050
00051