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
14
15namespace libebook
16{
17
18class FictionBook2Style;
19
21{
22 // no copying
25
26public:
29
30private:
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
68private:
71 std::string m_currentID;
73 // TODO: this is a hack, but better way would require refactoring
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: */
string name
Definition HTMLHelpStream.cpp:80
optional< Style > style
Definition TealDocParser.cpp:105
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition TealDocParser.cpp:231
qi::rule< Iterator, AttrValue_t, qi::space_type > text
Definition TealDocParser.cpp:232
Definition FictionBook2Collector.h:23
std::unordered_map< std::string, Note > NoteMap_t
Definition FictionBook2Collector.h:58
std::unordered_map< std::string, Binary > BinaryMap_t
Definition FictionBook2Collector.h:57
Definition FictionBook2ExtrasCollector.h:21
void openSpan(const FictionBook2Style &style) override
Definition FictionBook2ExtrasCollector.cpp:95
void defineMetadataEntry(const char *name, const char *value) override
Definition FictionBook2ExtrasCollector.cpp:42
void openTableCell(int rowspan, int colspan) override
Definition FictionBook2ExtrasCollector.cpp:153
NoteMap_t & m_notes
Definition FictionBook2ExtrasCollector.h:69
void closeMetadataEntry() override
Definition FictionBook2ExtrasCollector.cpp:50
void openTable(const FictionBook2BlockFormat &format) override
Definition FictionBook2ExtrasCollector.cpp:131
void openTableRow(const FictionBook2BlockFormat &format) override
Definition FictionBook2ExtrasCollector.cpp:142
~FictionBook2ExtrasCollector() override
Definition FictionBook2ExtrasCollector.cpp:37
void openMetadataEntry(const char *name) override
Definition FictionBook2ExtrasCollector.cpp:46
void closeTableCell() override
Definition FictionBook2ExtrasCollector.cpp:160
BinaryMap_t & m_bitmaps
Definition FictionBook2ExtrasCollector.h:70
void flushCurrentNote()
Definition FictionBook2ExtrasCollector.cpp:187
void closeParagraph() override
Definition FictionBook2ExtrasCollector.cpp:89
void insertCoveredTableCell() override
Definition FictionBook2ExtrasCollector.cpp:165
void closePageSpan() override
Definition FictionBook2ExtrasCollector.cpp:65
FictionBook2ExtrasCollector & operator=(const FictionBook2ExtrasCollector &other)
bool m_title
Definition FictionBook2ExtrasCollector.h:75
void insertBitmap(const char *id) override
Definition FictionBook2ExtrasCollector.cpp:174
void insertFootnote(const char *id) override
Definition FictionBook2ExtrasCollector.cpp:170
void closeTable() override
Definition FictionBook2ExtrasCollector.cpp:137
void closeSpan() override
Definition FictionBook2ExtrasCollector.cpp:103
void insertBitmapData(const char *contentType, const char *base64Data) override
Definition FictionBook2ExtrasCollector.cpp:178
void openBlock() override
Definition FictionBook2ExtrasCollector.cpp:69
void defineID(const char *) override
Definition FictionBook2ExtrasCollector.cpp:54
void insertText(const char *text) override
Definition FictionBook2ExtrasCollector.cpp:124
Note m_currentNote
Definition FictionBook2ExtrasCollector.h:72
void openParagraph(const FictionBook2BlockFormat &format) override
Definition FictionBook2ExtrasCollector.cpp:79
std::string m_currentText
Definition FictionBook2ExtrasCollector.h:76
bool m_ignored
Definition FictionBook2ExtrasCollector.h:74
void closeTableRow() override
Definition FictionBook2ExtrasCollector.cpp:148
FictionBook2ExtrasCollector(const FictionBook2ExtrasCollector &other)
void closeBlock() override
Definition FictionBook2ExtrasCollector.cpp:74
std::string m_currentID
Definition FictionBook2ExtrasCollector.h:71
void openPageSpan() override
Definition FictionBook2ExtrasCollector.cpp:61
Definition FictionBook2Style.h:56
Definition BBeBCollector.cpp:19
Definition FictionBook2Style.h:36
Definition FictionBook2Collector.h:50

Generated for libe-book by doxygen 1.10.0