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 &);
26 IMPParser &operator=(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:
39 const IMPHeader m_header;
40 librevenge::RVNGInputStream *const m_input;
41 IMPCollector m_collector;
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_text
boost::shared_ptr< librevenge::RVNGInputStream > m_text
Definition: IMPParser.h:43
libebook::IMPHeader
Definition: IMPHeader.h:21
libebook::IMPParser::createTextStream
void createTextStream()
Definition: IMPParser.cpp:203
libebook::IMPParser
Definition: IMPParser.h:22
libebook::IMPParser::m_resources
boost::shared_ptr< librevenge::RVNGInputStream > m_resources
Definition: IMPParser.h:42
libebook::IMPParser::IMPParser
IMPParser(const IMPParser &)
libebook::IMPParser::m_header
const IMPHeader m_header
Definition: IMPParser.h:39
name
string name
Definition: CHMStream.cpp:80
libebook::IMPParser::m_input
librevenge::RVNGInputStream *const m_input
Definition: IMPParser.h:40
IMPCollector.h
libebook::IMPCollector
Definition: IMPCollector.h:22
document
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:169
libebook::IMPParser::m_collector
IMPCollector m_collector
Definition: IMPParser.h:41
libebook::EBOOKHTMLToken::input
Definition: EBOOKHTMLToken.h:91
libebook
Definition: CHMParser.cpp:20
libebook::IMPParser::operator=
IMPParser & operator=(const IMPParser &)
IMPHeader.h
libebook::IMPParser::getFileStream
boost::shared_ptr< librevenge::RVNGInputStream > getFileStream(const char *name) const
Definition: IMPParser.cpp:246
libebook::IMPParser::parse
bool parse()
Definition: IMPParser.cpp:192