ABWParser.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 libabw 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 __ABWPARSER_H__
11 #define __ABWPARSER_H__
12 
13 #include <boost/scoped_ptr.hpp>
14 
15 #include <librevenge/librevenge.h>
16 #include "ABWXMLHelper.h"
17 
18 namespace libabw
19 {
20 
21 class ABWCollector;
22 struct ABWParserState;
23 
24 class ABWParser
25 {
26 public:
27  explicit ABWParser(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *iface);
28  virtual ~ABWParser();
29  bool parse();
30 
31 private:
32  ABWParser();
33  ABWParser(const ABWParser &);
34  ABWParser &operator=(const ABWParser &);
35 
36  // Helper functions
37 
38  int getElementToken(xmlTextReaderPtr reader);
39 
40  // Functions to read the AWML document structure
41 
42  bool processXmlDocument(librevenge::RVNGInputStream *input);
43  void processXmlNode(xmlTextReaderPtr reader);
44 
45  void readAbiword(xmlTextReaderPtr reader);
46  void readM(xmlTextReaderPtr reader);
47  void readHistory(xmlTextReaderPtr reader);
48  void readRevisions(xmlTextReaderPtr reader);
49  void readIgnoredWords(xmlTextReaderPtr reader);
50  void readPageSize(xmlTextReaderPtr reader);
51  void readSection(xmlTextReaderPtr reader);
52  void readA(xmlTextReaderPtr reader);
53  void readC(xmlTextReaderPtr reader);
54  void readD(xmlTextReaderPtr reader);
55  void readL(xmlTextReaderPtr reader);
56  void readP(xmlTextReaderPtr reader);
57  void readS(xmlTextReaderPtr reader);
58  void readEndnote(xmlTextReaderPtr reader);
59  void readFoot(xmlTextReaderPtr reader);
60  void readImage(xmlTextReaderPtr reader);
61 
62  void readTable(xmlTextReaderPtr reader);
63  void readCell(xmlTextReaderPtr reader);
64 
65  librevenge::RVNGInputStream *m_input;
66  librevenge::RVNGTextInterface *m_iface;
68  boost::scoped_ptr<ABWParserState> m_state;
69 };
70 
71 } // namespace libabw
72 
73 #endif // __ABWPARSER_H__
74 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void readSection(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:434
librevenge::RVNGTextInterface * m_iface
Definition: ABWParser.h:66
void readHistory(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:346
void readImage(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:654
void readS(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:541
bool parse()
Definition: ABWParser.cpp:94
void readD(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:487
virtual ~ABWParser()
Definition: ABWParser.cpp:90
ABWCollector * m_collector
Definition: ABWParser.h:67
void readFoot(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:627
librevenge::RVNGInputStream * m_input
Definition: ABWParser.h:65
Definition: ABWCollector.h:17
void readTable(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:636
void readL(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:666
void readC(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:605
void readPageSize(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:416
void readRevisions(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:369
void readIgnoredWords(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:393
ABWParser & operator=(const ABWParser &)
bool processXmlDocument(librevenge::RVNGInputStream *input)
Definition: ABWParser.cpp:132
void readA(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:574
void processXmlNode(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:156
void readP(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:583
Definition: ABWCollector.h:103
void readEndnote(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:618
Definition: ABWParser.h:24
boost::scoped_ptr< ABWParserState > m_state
Definition: ABWParser.h:68
void readM(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:338
void readAbiword(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:329
int getElementToken(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:324
void readCell(xmlTextReaderPtr reader)
Definition: ABWParser.cpp:645

Generated for libwpd by doxygen 1.8.8