FictionBook2TextContext.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 FICTIONBOOK2TEXTCONTEXT_H_INCLUDED
11 #define FICTIONBOOK2TEXTCONTEXT_H_INCLUDED
12 
13 #include <string>
14 
16 
17 namespace libebook
18 {
19 
21 {
22 public:
24 
25 private:
26  void startOfElement() override;
27  void endOfElement() override;
28  void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
29 };
30 
32 {
33 public:
35 
36 private:
38  void startOfElement() override;
39  void endOfElement() override;
40  void endOfAttributes() override;
41  void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
42  void text(const char *text) override;
43 
44 private:
45  std::string m_href;
46  bool m_valid;
47  bool m_note;
48 };
49 
51 {
52 public:
54 
55 private:
56  void startOfElement() override;
57 };
58 
60 {
61 public:
63 
64 private:
65  void startOfElement() override;
66 };
67 
69 {
70 public:
72 
73 private:
74  void startOfElement() override;
75  void endOfElement() override;
76  void endOfAttributes() override;
77  void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
78 
79 private:
81  std::string m_href;
82  std::string m_altText;
83  bool m_valid;
84 };
85 
87 {
88 public:
90 
91 private:
93 };
94 
96 {
97 public:
99 
100 private:
101  void startOfElement() override;
102 };
103 
105 {
106 public:
108 
109 private:
110  void startOfElement() override;
111 };
112 
114 {
115 public:
117 
118 private:
119  void startOfElement() override;
120 };
121 
123 {
124 public:
126 
127 private:
128  void startOfElement() override;
129 };
130 
132 {
133 public:
135 
136 private:
138 };
139 
141 {
142 public:
144 
145 private:
146  void startOfElement() override;
147 };
148 
150 {
151 public:
153 
154 private:
156 };
157 
159 {
160 public:
162 
163 private:
165 };
166 
167 }
168 
169 #endif // FICTIONBOOK2TEXTCONTEXT_H_INCLUDED
170 
171 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libebook::FictionBook2AContext::endOfElement
void endOfElement() override
Signalize the end of an element.
Definition: FictionBook2TextContext.cpp:72
libebook::FictionBook2Token::style
@ style
Definition: FictionBook2Token.h:84
libebook::FictionBook2PContext::FictionBook2PContext
FictionBook2PContext(FictionBook2ParserContext *parentContext, const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:195
libebook::FictionBook2ParaContextBase::endOfElement
void endOfElement() override
Signalize the end of an element.
Definition: FictionBook2TextContext.cpp:27
libebook::FictionBook2InlineImageContext::m_style
const FictionBook2Style & m_style
Definition: FictionBook2TextContext.h:80
libebook::FictionBook2CodeContext
Definition: FictionBook2TextContext.h:50
libebook::FictionBook2DataContextBase
Base class for leaf data element contexts.
Definition: FictionBook2ParserContext.h:81
libebook::FictionBook2Collector::insertText
virtual void insertText(const char *text)=0
libebook::FictionBook2AContext::m_note
bool m_note
Definition: FictionBook2TextContext.h:47
libebook::FictionBook2Token::id
@ id
Definition: FictionBook2Token.h:59
libebook::FictionBook2AContext::attribute
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition: FictionBook2TextContext.cpp:92
libebook::FictionBook2AContext::element
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition: FictionBook2TextContext.cpp:60
libebook::FictionBook2Collector::insertBitmap
virtual void insertBitmap(const char *id)=0
libebook::FictionBook2BlockFormat::textAuthor
bool textAuthor
Definition: FictionBook2Style.h:48
libebook::FictionBook2Collector::closeSpan
virtual void closeSpan()=0
libebook::FictionBook2StrikethroughContext
Definition: FictionBook2TextContext.h:95
libebook::FictionBook2AContext::m_valid
bool m_valid
Definition: FictionBook2TextContext.h:46
libebook::FictionBook2InlineImageContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:151
libebook::FictionBook2InlineImageContext::attribute
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition: FictionBook2TextContext.cpp:175
FictionBook2Token.h
libebook::FictionBook2StyleContextBase::getTextFormat
FictionBook2TextFormat & getTextFormat()
Definition: FictionBook2ParserContext.cpp:160
libebook::FictionBook2SupContext::FictionBook2SupContext
FictionBook2SupContext(FictionBook2ParserContext *parentContext, FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:259
libebook::FictionBook2Token::NS_XLINK
@ NS_XLINK
Definition: FictionBook2Token.h:30
libebook::FictionBook2EmphasisContext
Definition: FictionBook2TextContext.h:59
libebook
Definition: BBeBCollector.cpp:18
libebook::FictionBook2ParaContextBase::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:22
libebook::FictionBook2Collector::defineID
virtual void defineID(const char *id)=0
libebook::FictionBook2StyleContextBase
Definition: FictionBook2ParserContext.h:132
libebook::FictionBook2TextAuthorContext
Definition: FictionBook2TextContext.h:149
libebook::FictionBook2TextAuthorContext::makeBlockFormat
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:274
value
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition: TealDocParser.cpp:231
libebook::FictionBook2Collector::openSpan
virtual void openSpan(const FictionBook2Style &style)=0
libebook::FictionBook2PContext
Definition: FictionBook2TextContext.h:86
libebook::FictionBook2StrikethroughContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:212
libebook::FictionBook2Token::href
@ href
Definition: FictionBook2Token.h:108
libebook::FictionBook2AContext::m_href
std::string m_href
Definition: FictionBook2TextContext.h:45
libebook::FictionBook2StrikethroughContext::FictionBook2StrikethroughContext
FictionBook2StrikethroughContext(FictionBook2ParserContext *parentContext, FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:207
libebook::FictionBook2InlineImageContext::m_altText
std::string m_altText
Definition: FictionBook2TextContext.h:82
libebook::FictionBook2ParaContextBase::attribute
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition: FictionBook2TextContext.cpp:32
libebook::FictionBook2StrongContext
Definition: FictionBook2TextContext.h:104
libebook::FictionBook2StyleContext::FictionBook2StyleContext
FictionBook2StyleContext(FictionBook2ParserContext *parentContext, FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:227
FictionBook2ParserContext.h
libebook::FictionBook2ParserContext::getCollector
FictionBook2Collector * getCollector() const
Get the collector.
Definition: FictionBook2ParserContext.cpp:31
libebook::FictionBook2SubContext::FictionBook2SubContext
FictionBook2SubContext(FictionBook2ParserContext *parentContext, FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:237
libebook::FictionBook2InlineImageContext::m_valid
bool m_valid
Definition: FictionBook2TextContext.h:83
libebook::FictionBook2SubtitleContext::makeBlockFormat
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:252
libebook::FictionBook2StyleContextBase::attribute
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition: FictionBook2ParserContext.cpp:205
libebook::FictionBook2InlineImageContext
Definition: FictionBook2TextContext.h:68
FictionBook2_NO_NAMESPACE
#define FictionBook2_NO_NAMESPACE(ns)
Definition: FictionBook2Token.h:18
libebook::FictionBook2TextFormat::strong
uint8_t strong
Definition: FictionBook2Style.h:29
libebook::FictionBook2EmphasisContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:137
libebook::FictionBook2StyleContextBase::getStyle
FictionBook2Style & getStyle()
Definition: FictionBook2ParserContext.cpp:155
libebook::FictionBook2ParaContextBase
Definition: FictionBook2TextContext.h:20
libebook::FictionBook2Collector::closeParagraph
virtual void closeParagraph()=0
libebook::FictionBook2ParaContextBase::FictionBook2ParaContextBase
FictionBook2ParaContextBase(FictionBook2ParserContext *parentContext, const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:17
libebook::FictionBook2Token::note
@ note
Definition: FictionBook2Token.h:123
libebook::FictionBook2SkipElementContext
Context for skipping element hierarchies.
Definition: FictionBook2ParserContext.h:113
libebook::FictionBook2InlineImageContext::endOfAttributes
void endOfAttributes() override
Signalize the end of attributes.
Definition: FictionBook2TextContext.cpp:171
libebook::FictionBook2XMLParserContext
Definition: FictionBook2XMLParserContext.h:18
libebook::FictionBook2Token::alt
@ alt
Definition: FictionBook2Token.h:103
libebook::FictionBook2AContext::text
void text(const char *text) override
Process textual content of an element.
Definition: FictionBook2TextContext.cpp:112
libebook::FictionBook2BlockFormat::subtitle
bool subtitle
Definition: FictionBook2Style.h:46
libebook::FictionBook2VContext
Definition: FictionBook2TextContext.h:158
libebook::FictionBook2EmphasisContext::FictionBook2EmphasisContext
FictionBook2EmphasisContext(FictionBook2ParserContext *parentContext, FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:132
libebook::FictionBook2Token::simple
@ simple
Definition: FictionBook2Token.h:124
libebook::FictionBook2ParserContext
Base class for all contexts.
Definition: FictionBook2ParserContext.h:23
libebook::FictionBook2TextFormat::emphasis
uint8_t emphasis
Definition: FictionBook2Style.h:27
libebook::FictionBook2AContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:68
libebook::FictionBook2VContext::makeBlockFormat
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:286
libebook::getFictionBook2TokenID
int getFictionBook2TokenID(const FictionBook2TokenData &token)
Definition: FictionBook2Token.cpp:50
libebook::FictionBook2InlineImageContext::endOfElement
void endOfElement() override
Signalize the end of an element.
Definition: FictionBook2TextContext.cpp:155
FictionBook2Collector.h
libebook::FictionBook2SubContext
Definition: FictionBook2TextContext.h:122
libebook::FictionBook2SubContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:242
name
string name
Definition: HTMLHelpStream.cpp:80
libebook::FictionBook2TextFormat::strikethrough
uint8_t strikethrough
Definition: FictionBook2Style.h:28
libebook::FictionBook2TextFormat::code
uint8_t code
Definition: FictionBook2Style.h:26
libebook::FictionBook2InlineImageContext::FictionBook2InlineImageContext
FictionBook2InlineImageContext(FictionBook2ParserContext *parentContext, const FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:142
libebook::FictionBook2SubtitleContext::FictionBook2SubtitleContext
FictionBook2SubtitleContext(FictionBook2ParserContext *parentContext, const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:247
libebook::FictionBook2Collector::insertFootnote
virtual void insertFootnote(const char *id)=0
libebook::FictionBook2Style
Definition: FictionBook2Style.h:55
libebook::FictionBook2TextFormat::sup
uint8_t sup
Definition: FictionBook2Style.h:31
libebook::FictionBook2BlockFormat::p
bool p
Definition: FictionBook2Style.h:43
libebook::EBOOKOPFToken::format
@ format
Definition: EBOOKOPFToken.h:54
libebook::FictionBook2BlockFormat::v
bool v
Definition: FictionBook2Style.h:50
libebook::FictionBook2SupContext
Definition: FictionBook2TextContext.h:140
libebook::FictionBook2AContext::endOfAttributes
void endOfAttributes() override
Signalize the end of attributes.
Definition: FictionBook2TextContext.cpp:78
libebook::FictionBook2TokenData
Definition: FictionBook2Token.h:133
libebook::FictionBook2StyleContextBase::element
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition: FictionBook2ParserContext.cpp:165
libebook::FictionBook2CodeContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:127
FictionBook2TextContext.h
libebook::FictionBook2InlineImageContext::m_href
std::string m_href
Definition: FictionBook2TextContext.h:81
libebook::FictionBook2StyleContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:232
libebook::FictionBook2StrongContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:222
libebook::FictionBook2BlockFormat
Definition: FictionBook2Style.h:35
libebook::FictionBook2VContext::FictionBook2VContext
FictionBook2VContext(FictionBook2ParserContext *parentContext, const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:281
libebook::FictionBook2AContext
Definition: FictionBook2TextContext.h:31
libebook::FictionBook2CodeContext::FictionBook2CodeContext
FictionBook2CodeContext(FictionBook2ParserContext *parentContext, FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:122
libebook::FictionBook2StyleContext
Definition: FictionBook2TextContext.h:113
libebook::FictionBook2TextAuthorContext::FictionBook2TextAuthorContext
FictionBook2TextAuthorContext(FictionBook2ParserContext *parentContext, const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:269
libebook::FictionBook2SubtitleContext
Definition: FictionBook2TextContext.h:131
libebook::FictionBook2Token::type
@ type
Definition: FictionBook2Token.h:118
libebook::FictionBook2PContext::makeBlockFormat
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition: FictionBook2TextContext.cpp:200
libebook::FictionBook2AContext::FictionBook2AContext
FictionBook2AContext(FictionBook2ParserContext *parentContext, const FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:52
style
optional< Style > style
Definition: TealDocParser.cpp:105
libebook::FictionBook2TextFormat::sub
uint8_t sub
Definition: FictionBook2Style.h:30
libebook::FictionBook2StrongContext::FictionBook2StrongContext
FictionBook2StrongContext(FictionBook2ParserContext *parentContext, FictionBook2Style &style)
Definition: FictionBook2TextContext.cpp:217
libebook::FictionBook2Collector::openParagraph
virtual void openParagraph(const FictionBook2BlockFormat &format)=0
libebook::FictionBook2SupContext::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2TextContext.cpp:264

Generated for libe-book by doxygen 1.8.17