HTMLHelpStream.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libe-book project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * For further information visit http://libebook.sourceforge.net
8  */
9 
10 #ifndef HTMLHELPSTREAM_H_INCLUDED
11 #define HTMLHELPSTREAM_H_INCLUDED
12 
13 #include <memory>
14 
15 #include <librevenge-stream/librevenge-stream.h>
16 
17 namespace libebook
18 {
19 
20 class HTMLHelpStream : public librevenge::RVNGInputStream
21 {
22 // disable copying
23  HTMLHelpStream(const HTMLHelpStream &other);
25 
26  struct Impl;
27 
28 public:
29  explicit HTMLHelpStream(const RVNGInputStreamPtr_t &input);
30  virtual ~HTMLHelpStream();
31 
32  virtual bool isStructured();
33  virtual unsigned subStreamCount();
34  virtual const char *subStreamName(unsigned id);
35  virtual bool existsSubStream(const char *name);
36  virtual librevenge::RVNGInputStream *getSubStreamByName(const char *name);
37  virtual librevenge::RVNGInputStream *getSubStreamById(unsigned id);
38 
39  virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
40  virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType);
41  virtual long tell();
42  virtual bool isEnd();
43 
44 private:
45  std::unique_ptr<Impl> m_impl;
46 };
47 
48 }
49 
50 #endif // HTMLHELPSTREAM_H_INCLUDED
51 
52 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libebook::HTMLHelpStream::Impl::stream
const RVNGInputStreamPtr_t stream
Definition: HTMLHelpStream.cpp:383
m_nameMap
NameMap_t m_nameMap
Definition: HTMLHelpStream.cpp:345
libebook::HTMLHelpStream::Impl::fileCount
unsigned fileCount
Definition: HTMLHelpStream.cpp:390
libebook::HTMLHelpStream::Impl::getFileCount
unsigned getFileCount()
Definition: HTMLHelpStream.cpp:420
base
mspack_file base
Definition: HTMLHelpStream.cpp:62
libebook::RVNGInputStreamPtr_t
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libebook_utils.h:54
system
MSPackSystemData * system
Definition: HTMLHelpStream.cpp:78
libebook::HTMLHelpStream::seek
virtual int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType)
Definition: HTMLHelpStream.cpp:585
libebook::HTMLHelpStream::~HTMLHelpStream
virtual ~HTMLHelpStream()
Definition: HTMLHelpStream.cpp:489
libebook::HTMLHelpStream::Impl
Definition: HTMLHelpStream.cpp:381
libebook::EBOOKHTMLToken::src
Definition: EBOOKHTMLToken.h:251
libebook::HTMLHelpStream::read
virtual const unsigned char * read(unsigned long numBytes, unsigned long &numBytesRead)
Definition: HTMLHelpStream.cpp:580
libebook::HTMLHelpStream::Impl::system
MSPackSystem system
Definition: HTMLHelpStream.cpp:384
libebook::EBOOKHTMLToken::get
Definition: EBOOKHTMLToken.h:283
libebook::HTMLHelpStream::isEnd
virtual bool isEnd()
Definition: HTMLHelpStream.cpp:595
libebook::HTMLHelpStream::subStreamCount
virtual unsigned subStreamCount()
Definition: HTMLHelpStream.cpp:501
libebook
Definition: BBeBCollector.cpp:18
libebook::HTMLHelpStream::Impl::header
mschmd_header * header
Definition: HTMLHelpStream.cpp:386
value
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition: TealDocParser.cpp:231
libebook::HTMLHelpStream::operator=
HTMLHelpStream & operator=(const HTMLHelpStream &other)
libebook_utils.h
libebook::EBOOKMemoryStream
Definition: EBOOKMemoryStream.h:20
libebook::HTMLHelpStream::existsSubStream
virtual bool existsSubStream(const char *name)
Definition: HTMLHelpStream.cpp:523
EBOOKMemoryStream.h
offset
unsigned offset
Definition: SoftBookParser.cpp:74
fileMap
FileMap_t fileMap
Definition: HTMLHelpStream.cpp:94
libebook::EBOOKHTMLToken::id
Definition: EBOOKHTMLToken.h:203
HTMLHelpStream.h
libebook::PackageError
Definition: libebook_utils.h:115
stream
RVNGInputStreamPtr_t stream
Definition: HTMLHelpStream.cpp:79
libebook::HTMLHelpStream::Impl::decompressor
shared_ptr< mschm_decompressor > decompressor
Definition: HTMLHelpStream.cpp:385
data
MSPackFileData * data
Definition: HTMLHelpStream.cpp:63
m_idMap
IDMap_t m_idMap
Definition: HTMLHelpStream.cpp:346
libebook::EBOOKHTMLToken::input
Definition: EBOOKHTMLToken.h:89
mode
hubbub_quirks_mode mode
Definition: EBOOKHTMLParser.cpp:164
libebook::HTMLHelpStream::isStructured
virtual bool isStructured()
Definition: HTMLHelpStream.cpp:496
libebook::HTMLHelpStream::Impl::getSysfileCount
unsigned getSysfileCount()
Definition: HTMLHelpStream.cpp:428
container
MSPackFile container
Definition: HTMLHelpStream.cpp:93
libebook::EBOOKHTMLToken::header
Definition: EBOOKHTMLToken.h:82
name
string name
Definition: HTMLHelpStream.cpp:80
libebook::HTMLHelpStream::getSubStreamById
virtual librevenge::RVNGInputStream * getSubStreamById(unsigned id)
Definition: HTMLHelpStream.cpp:557
libebook::EBOOKOPFToken::format
Definition: EBOOKOPFToken.h:54
libebook::HTMLHelpStream::Impl::sysfileCountSet
bool sysfileCountSet
Definition: HTMLHelpStream.cpp:393
libebook::HTMLHelpStream::Impl::fileCountSet
bool fileCountSet
Definition: HTMLHelpStream.cpp:392
libebook::HTMLHelpStream::getSubStreamByName
virtual librevenge::RVNGInputStream * getSubStreamByName(const char *name)
Definition: HTMLHelpStream.cpp:536
libebook::HTMLHelpStream::Impl::sysfileCount
unsigned sysfileCount
Definition: HTMLHelpStream.cpp:391
libebook::HTMLHelpStream::tell
virtual long tell()
Definition: HTMLHelpStream.cpp:590
libebook::HTMLHelpStream
Definition: HTMLHelpStream.h:20
type
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:325
libebook::HTMLHelpStream::Impl::cache
FileCache cache
Definition: HTMLHelpStream.cpp:388
libebook::HTMLHelpStream::subStreamName
virtual const char * subStreamName(unsigned id)
Definition: HTMLHelpStream.cpp:506
libebook::HTMLHelpStream::HTMLHelpStream
HTMLHelpStream(const HTMLHelpStream &other)
libebook::HTMLHelpStream::m_impl
std::unique_ptr< Impl > m_impl
Definition: HTMLHelpStream.h:45
libebook::HTMLHelpStream::Impl::getSubStream
const RVNGInputStreamPtr_t getSubStream(mschmd_file *file)
Definition: HTMLHelpStream.cpp:436

Generated for libe-book by doxygen 1.8.16