IMPParser.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  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef IMPPARSER_H_INCLUDED
11 #define IMPPARSER_H_INCLUDED
12 
13 #include <boost/shared_ptr.hpp>
14 
15 #include "IMPCollector.h"
16 #include "IMPHeader.h"
17 
18 
19 namespace libebook
20 {
21 
22 class IMPParser
23 {
24  // disable copying
25  IMPParser(const IMPParser &);
27 
28 public:
29  IMPParser(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *document);
30 
31  bool parse();
32 
33 private:
34  void createTextStream();
35 
36  boost::shared_ptr<librevenge::RVNGInputStream> getFileStream(const char *name) const;
37 
38 private:
40  librevenge::RVNGInputStream *const m_input;
42  boost::shared_ptr<librevenge::RVNGInputStream> m_resources;
43  boost::shared_ptr<librevenge::RVNGInputStream> m_text;
44 };
45 
46 }
47 
48 #endif // IMPPARSER_H_INCLUDED
49 
50 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libebook::IMPParser::m_input
librevenge::RVNGInputStream *const m_input
Definition: IMPParser.h:40
libebook::IMPParser::IMPParser
IMPParser(const IMPParser &)
libebook::IMPParser::m_text
boost::shared_ptr< librevenge::RVNGInputStream > m_text
Definition: IMPParser.h:43
IMPResourceDir.h
libebook::IMPText
Definition: IMPText.h:22
length
unsigned length
Definition: IMPParser.cpp:72
libebook::IMPResourceDir
Read the resource tree and provide access to it as an OLE stream.
Definition: IMPResourceDir.h:25
id
unsigned id
Definition: IMPParser.cpp:71
libebook::getRemainingLength
unsigned long getRemainingLength(librevenge::RVNGInputStream *const input)
Definition: libebook_utils.cpp:168
libebook::IMPHeader
Definition: IMPHeader.h:22
libebook::IMPParser
Definition: IMPParser.h:23
libebook::IMPParser::m_header
const IMPHeader m_header
Definition: IMPParser.h:39
libebook
Definition: CHMParser.cpp:21
libebook::IMPParser::operator=
IMPParser & operator=(const IMPParser &)
libebook::IMPParser::createTextStream
void createTextStream()
Definition: IMPParser.cpp:203
libebook::IMPLZSSStream
Definition: IMPLZSSStream.h:21
libebook::IMPHeader::getCompressed
bool getCompressed() const
Definition: IMPHeader.cpp:88
libebook_utils.h
IMPParser.h
libebook::IMP_COLOR_MODE_GRAYSCALE
@ IMP_COLOR_MODE_GRAYSCALE
Definition: IMPTypes.h:22
IMPCollector.h
libebook::readNBytes
const unsigned char * readNBytes(librevenge::RVNGInputStream *const input, const unsigned long numBytes)
Definition: libebook_utils.cpp:103
m_start
long m_start
Definition: IMPParser.cpp:99
libebook::EBOOKHTMLToken::i
@ i
Definition: EBOOKHTMLToken.h:88
libebook::IMPParser::parse
bool parse()
Definition: IMPParser.cpp:192
stream
RVNGInputStreamPtr_t stream
Definition: CHMStream.cpp:79
libebook::seek
void seek(librevenge::RVNGInputStream *const input, const unsigned long pos)
Definition: libebook_utils.cpp:150
document
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:169
IMPHeader.h
libebook::EBOOKHTMLToken::text
@ text
Definition: EBOOKHTMLToken.h:259
m_text
librevenge::RVNGString m_text
Definition: EBOOKOutputElements.cpp:322
libebook::EBOOKHTMLToken::input
@ input
Definition: EBOOKHTMLToken.h:91
mode
hubbub_quirks_mode mode
Definition: EBOOKHTMLParser.cpp:170
libebook::readU16
uint16_t readU16(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:55
offset
unsigned offset
Definition: IMPParser.cpp:73
libebook::IMPCollector
Definition: IMPCollector.h:23
IMPText.h
name
string name
Definition: CHMStream.cpp:80
libebook::readU32
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian)
Definition: libebook_utils.cpp:71
libebook::EBOOKHTMLToken::header
@ header
Definition: EBOOKHTMLToken.h:84
libebook::IMPResourceDir::getTypeStream
boost::shared_ptr< librevenge::RVNGInputStream > getTypeStream() const
Get OLE stream for this resource directory.
Definition: IMPResourceDir.cpp:216
libebook::IMPParser::m_collector
IMPCollector m_collector
Definition: IMPParser.h:41
m_resourceIndex
ResourceIndex_t m_resourceIndex
Definition: IMPParser.cpp:100
m_stream
const shared_ptr< librevenge::RVNGInputStream > m_stream
Definition: IMPParser.cpp:98
EBOOK_DEBUG_MSG
#define EBOOK_DEBUG_MSG(M)
Definition: libebook_utils.h:73
IMPLZSSStream.h
type
EBOOKDocument::Type type
Definition: EBOOKDocument.cpp:328
libebook::IMPParser::getFileStream
boost::shared_ptr< librevenge::RVNGInputStream > getFileStream(const char *name) const
Definition: IMPParser.cpp:246
libebook::IMPParser::m_resources
boost::shared_ptr< librevenge::RVNGInputStream > m_resources
Definition: IMPParser.h:42
m_input
librevenge::RVNGInputStream * m_input
Definition: PLKRParser.cpp:911
libebook::skip
void skip(librevenge::RVNGInputStream *input, unsigned long numBytes)
Definition: libebook_utils.cpp:143
EBOOKStreamView.h
m_header
int m_header
Definition: EBOOKOutputElements.cpp:476
libebook::EBOOKOPFToken::version
@ version
Definition: EBOOKOPFToken.h:99
m_collector
FB2ExtrasCollector m_collector
Definition: FB2Parser.cpp:102
libebook::EBOOKHTMLToken::start
@ start
Definition: EBOOKHTMLToken.h:255

Generated for libe-book by doxygen 1.8.18