FictionBook2ExtrasCollector.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 FICTIONBOOK2EXTRASCOLLECTOR_H_INCLUDED
11 #define FICTIONBOOK2EXTRASCOLLECTOR_H_INCLUDED
12 
13 #include "FictionBook2Collector.h"
14 
15 namespace libebook
16 {
17 
18 class FictionBook2Style;
19 
21 {
22  // no copying
25 
26 public:
29 
30 private:
31  void defineMetadataEntry(const char *name, const char *value) override;
32  void openMetadataEntry(const char *name) override;
33  void closeMetadataEntry() override;
34 
35  void defineID(const char *) override;
36 
37  void openPageSpan() override;
38  void closePageSpan() override;
39 
40  void openBlock() override;
41  void closeBlock() override;
42 
43  void openParagraph(const FictionBook2BlockFormat &format) override;
44  void closeParagraph() override;
45 
46  void openSpan(const FictionBook2Style &style) override;
47  void closeSpan() override;
48 
49  void insertText(const char *text) override;
50 
51  void openTable(const FictionBook2BlockFormat &format) override;
52  void closeTable() override;
53 
54  void openTableRow(const FictionBook2BlockFormat &format) override;
55  void closeTableRow() override;
56 
57  void openTableCell(int rowspan, int colspan) override;
58  void closeTableCell() override;
59  void insertCoveredTableCell() override;
60 
61  void insertFootnote(const char *id) override;
62 
63  void insertBitmap(const char *id) override;
64  void insertBitmapData(const char *contentType, const char *base64Data) override;
65 
66  void flushCurrentNote();
67 
68 private:
71  std::string m_currentID;
73  // TODO: this is a hack, but better way would require refactoring
74  bool m_ignored;
75  bool m_title;
76  std::string m_currentText;
77 };
78 
79 }
80 
81 #endif // FICTIONBOOK2EXTRASCOLLECTOR_H_INCLUDED
82 
83 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void closeTableRow() override
Definition: FictionBook2ExtrasCollector.cpp:148
void defineID(const char *) override
Definition: FictionBook2ExtrasCollector.cpp:54
void closeSpan() override
Definition: FictionBook2ExtrasCollector.cpp:103
BinaryMap_t & m_bitmaps
Definition: FictionBook2ExtrasCollector.h:70
void insertCoveredTableCell() override
Definition: FictionBook2ExtrasCollector.cpp:165
void defineMetadataEntry(const char *name, const char *value) override
Definition: FictionBook2ExtrasCollector.cpp:42
void openParagraph(const FictionBook2BlockFormat &format) override
Definition: FictionBook2ExtrasCollector.cpp:79
void closeTable() override
Definition: FictionBook2ExtrasCollector.cpp:137
void closeBlock() override
Definition: FictionBook2ExtrasCollector.cpp:74
Definition: FictionBook2Style.h:55
Definition: EBOOKHTMLToken.h:183
void insertFootnote(const char *id) override
Definition: FictionBook2ExtrasCollector.cpp:170
void insertText(const char *text) override
Definition: FictionBook2ExtrasCollector.cpp:124
std::unordered_map< std::string, Note > NoteMap_t
Definition: FictionBook2Collector.h:58
void openTableCell(int rowspan, int colspan) override
Definition: FictionBook2ExtrasCollector.cpp:153
void closeParagraph() override
Definition: FictionBook2ExtrasCollector.cpp:89
Note m_currentNote
Definition: FictionBook2ExtrasCollector.h:72
void insertBitmapData(const char *contentType, const char *base64Data) override
Definition: FictionBook2ExtrasCollector.cpp:178
Definition: FictionBook2Style.h:35
Definition: EBOOKHTMLToken.h:242
bool m_title
Definition: FictionBook2ExtrasCollector.h:75
Definition: FictionBook2ExtrasCollector.h:20
std::string m_currentID
Definition: FictionBook2ExtrasCollector.h:71
const char * name
Definition: EBOOKHTMLToken.cpp:44
FictionBook2ExtrasCollector(const FictionBook2ExtrasCollector &other)
void openSpan(const FictionBook2Style &style) override
Definition: FictionBook2ExtrasCollector.cpp:95
FictionBook2ExtrasCollector & operator=(const FictionBook2ExtrasCollector &other)
std::string m_currentText
Definition: FictionBook2ExtrasCollector.h:76
void openBlock() override
Definition: FictionBook2ExtrasCollector.cpp:69
void closeTableCell() override
Definition: FictionBook2ExtrasCollector.cpp:160
Definition: EBOOKOPFToken.h:54
Definition: FictionBook2Collector.h:22
Definition: BBeBCollector.cpp:18
void flushCurrentNote()
Definition: FictionBook2ExtrasCollector.cpp:187
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition: TealDocParser.cpp:231
void openTableRow(const FictionBook2BlockFormat &format) override
Definition: FictionBook2ExtrasCollector.cpp:142
void closeMetadataEntry() override
Definition: FictionBook2ExtrasCollector.cpp:50
Definition: FictionBook2Collector.h:49
void closePageSpan() override
Definition: FictionBook2ExtrasCollector.cpp:65
NoteMap_t & m_notes
Definition: FictionBook2ExtrasCollector.h:69
void insertBitmap(const char *id) override
Definition: FictionBook2ExtrasCollector.cpp:174
optional< Style > style
Definition: TealDocParser.cpp:105
qi::rule< Iterator, AttrValue_t, qi::space_type > text
Definition: TealDocParser.cpp:232
void openPageSpan() override
Definition: FictionBook2ExtrasCollector.cpp:61
void openMetadataEntry(const char *name) override
Definition: FictionBook2ExtrasCollector.cpp:46
~FictionBook2ExtrasCollector() override
Definition: FictionBook2ExtrasCollector.cpp:37
std::unordered_map< std::string, Binary > BinaryMap_t
Definition: FictionBook2Collector.h:57
void openTable(const FictionBook2BlockFormat &format) override
Definition: FictionBook2ExtrasCollector.cpp:131
bool m_ignored
Definition: FictionBook2ExtrasCollector.h:74

Generated for libe-book by doxygen 1.8.14