XMLCollector.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 XMLCOLLECTOR_H_INCLUDED
11 #define XMLCOLLECTOR_H_INCLUDED
12 
13 #include <string>
14 
15 #include <boost/shared_ptr.hpp>
16 
17 #include <librevenge/librevenge.h>
18 
19 #include "XMLTreeWalker.h"
20 
21 namespace libebook
22 {
23 
25 {
26  // disable copying
27  XMLCollector(const XMLCollector &);
29 
30 public:
31  struct State;
32 
33 public:
34  explicit XMLCollector(librevenge::RVNGTextInterface *document);
35 
36  void collectMetadata(const librevenge::RVNGPropertyList &metadata);
37 
38  void collectText(const std::string &text);
39  void collectSpace();
40  void collectTab();
41  void collectLineBreak();
42 
43  void collectImage(const librevenge::RVNGPropertyList &props);
44 
45  void collectCoveredTableCell(const librevenge::RVNGPropertyList &props);
46 
47  void openPageSpan(const librevenge::RVNGPropertyList &props);
48  void closePageSpan();
49  void openHeader(const librevenge::RVNGPropertyList &props);
50  void closeHeader();
51  void openFooter(const librevenge::RVNGPropertyList &props);
52  void closeFooter();
53  void openFootnote(const librevenge::RVNGPropertyList &props);
54  void closeFootnote();
55 
56  void openParagraph(const librevenge::RVNGPropertyList &props);
57  void closeParagraph();
58  void openSpan(const librevenge::RVNGPropertyList &props);
59  void closeSpan();
60  void openLink(const librevenge::RVNGPropertyList &props);
61  void closeLink();
62 
63  void openTable(const librevenge::RVNGPropertyList &props);
64  void closeTable();
65  void openTableRow(const librevenge::RVNGPropertyList &props);
66  void closeTableRow();
67  void openTableCell(const librevenge::RVNGPropertyList &props);
68  void closeTableCell();
69 
70  void openOrderedList(const librevenge::RVNGPropertyList &props);
71  void closeOrderedList();
72  void openUnorderedList(const librevenge::RVNGPropertyList &props);
73  void closeUnorderedList();
74 
75  void openListElement(const librevenge::RVNGPropertyList &props);
76  void closeListElement();
77 
78  void openObject(const librevenge::RVNGPropertyList &props);
79  void closeObject();
80 
83  void finish();
84 
85 private:
86  librevenge::RVNGTextInterface *const m_document;
87  boost::shared_ptr<State> m_state;
88 };
89 
90 }
91 
92 #endif // XMLCOLLECTOR_H_INCLUDED
93 
94 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void closePageSpan()
Definition: XMLCollector.cpp:1397
Definition: XMLCollector.h:24
void closeTableCell()
Definition: XMLCollector.cpp:1487
void collectSpace()
Definition: XMLCollector.cpp:1359
void collectImage(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1377
void collectTab()
Definition: XMLCollector.cpp:1365
void openUnorderedList(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1502
void openTableCell(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1482
void closeListElement()
Definition: XMLCollector.cpp:1517
void closeParagraph()
Definition: XMLCollector.cpp:1437
void closeUnorderedList()
Definition: XMLCollector.cpp:1507
XMLCollector & operator=(const XMLCollector &)
void closeTableRow()
Definition: XMLCollector.cpp:1477
void closeFooter()
Definition: XMLCollector.cpp:1417
void openFootnote(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1422
void closeTable()
Definition: XMLCollector.cpp:1467
void openParagraph(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1432
void openLink(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1452
void closeObject()
Definition: XMLCollector.cpp:1528
void openFooter(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1412
void closeLink()
Definition: XMLCollector.cpp:1457
void openTable(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1462
Definition: EBOOKHTMLToken.h:259
RVNGPropertyList metadata
Definition: EBOOKOPFParser.cpp:63
void finish()
Signalize an end of parsing from the parser.
Definition: XMLCollector.cpp:1533
void closeHeader()
Definition: XMLCollector.cpp:1407
void openPageSpan(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1392
XMLCollector(const XMLCollector &)
librevenge::RVNGTextInterface *const m_document
Definition: XMLCollector.h:86
XMLTreeNodePtr_t document
Definition: EBOOKHTMLParser.cpp:169
void collectCoveredTableCell(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1386
void closeFootnote()
Definition: XMLCollector.cpp:1427
void collectMetadata(const librevenge::RVNGPropertyList &metadata)
Definition: XMLCollector.cpp:1348
void openObject(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1522
void closeSpan()
Definition: XMLCollector.cpp:1447
void openTableRow(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1472
boost::shared_ptr< State > m_state
Definition: XMLCollector.h:87
Definition: CHMParser.cpp:20
void collectText(const std::string &text)
Definition: XMLCollector.cpp:1353
void collectLineBreak()
Definition: XMLCollector.cpp:1371
Definition: XMLCollector.cpp:738
void openHeader(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1402
void openOrderedList(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1492
void openListElement(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1512
void openSpan(const librevenge::RVNGPropertyList &props)
Definition: XMLCollector.cpp:1442
void closeOrderedList()
Definition: XMLCollector.cpp:1497

Generated for libe-book by doxygen 1.8.8