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
17namespace libebook
18{
19
21{
22public:
23 FictionBook2ParaContextBase(std::shared_ptr<FictionBook2ParserContext> parentContext, const FictionBook2BlockFormat &format);
24
25private:
26 void startOfElement() override;
27 void endOfElement() override;
28 void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
29};
30
32{
33public:
34 FictionBook2AContext(std::shared_ptr<FictionBook2ParserContext> parentContext, const FictionBook2Style &style);
35
36private:
37 std::shared_ptr<FictionBook2XMLParserContext> element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override;
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
44private:
45 std::string m_href;
46 bool m_valid;
47 bool m_note;
48};
49
51{
52public:
53 FictionBook2CodeContext(std::shared_ptr<FictionBook2ParserContext> parentContext, FictionBook2Style &style);
54
55private:
56 void startOfElement() override;
57};
58
60{
61public:
62 FictionBook2EmphasisContext(std::shared_ptr<FictionBook2ParserContext> parentContext, FictionBook2Style &style);
63
64private:
65 void startOfElement() override;
66};
67
69{
70public:
71 FictionBook2InlineImageContext(std::shared_ptr<FictionBook2ParserContext> parentContext, const FictionBook2Style &style);
72
73private:
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
79private:
81 std::string m_href;
82 std::string m_altText;
83 bool m_valid;
84};
85
87{
88public:
89 FictionBook2PContext(std::shared_ptr<FictionBook2ParserContext> parentContext, const FictionBook2BlockFormat &format);
90
91private:
93};
94
96{
97public:
98 FictionBook2StrikethroughContext(std::shared_ptr<FictionBook2ParserContext> parentContext, FictionBook2Style &style);
99
100private:
101 void startOfElement() override;
102};
103
105{
106public:
107 FictionBook2StrongContext(std::shared_ptr<FictionBook2ParserContext> parentContext, FictionBook2Style &style);
108
109private:
110 void startOfElement() override;
111};
112
114{
115public:
116 FictionBook2StyleContext(std::shared_ptr<FictionBook2ParserContext> parentContext, FictionBook2Style &style);
117
118private:
119 void startOfElement() override;
120};
121
123{
124public:
125 FictionBook2SubContext(std::shared_ptr<FictionBook2ParserContext> parentContext, FictionBook2Style &style);
126
127private:
128 void startOfElement() override;
129};
130
132{
133public:
134 explicit FictionBook2SubtitleContext(std::shared_ptr<FictionBook2ParserContext> parentContext, const FictionBook2BlockFormat &format);
135
136private:
138};
139
141{
142public:
143 FictionBook2SupContext(std::shared_ptr<FictionBook2ParserContext> parentContext, FictionBook2Style &style);
144
145private:
146 void startOfElement() override;
147};
148
150{
151public:
152 explicit FictionBook2TextAuthorContext(std::shared_ptr<FictionBook2ParserContext> parentContext, const FictionBook2BlockFormat &format);
153
154private:
156};
157
159{
160public:
161 explicit FictionBook2VContext(std::shared_ptr<FictionBook2ParserContext> parentContext, const FictionBook2BlockFormat &format);
162
163private:
165};
166
167}
168
169#endif // FICTIONBOOK2TEXTCONTEXT_H_INCLUDED
170
171/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2TextContext.cpp:92
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2TextContext.cpp:78
std::string m_href
Definition FictionBook2TextContext.h:45
bool m_note
Definition FictionBook2TextContext.h:47
void text(const char *text) override
Process textual content of an element.
Definition FictionBook2TextContext.cpp:112
bool m_valid
Definition FictionBook2TextContext.h:46
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:68
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2TextContext.cpp:72
FictionBook2AContext(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:52
std::shared_ptr< FictionBook2XMLParserContext > element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition FictionBook2TextContext.cpp:60
FictionBook2CodeContext(std::shared_ptr< FictionBook2ParserContext > parentContext, FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:122
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:127
FictionBook2DataContextBase(std::shared_ptr< FictionBook2ParserContext > parentContext)
Definition FictionBook2ParserContext.cpp:60
FictionBook2EmphasisContext(std::shared_ptr< FictionBook2ParserContext > parentContext, FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:132
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:137
const FictionBook2Style & m_style
Definition FictionBook2TextContext.h:80
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:151
FictionBook2InlineImageContext(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:142
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2TextContext.cpp:155
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2TextContext.cpp:171
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2TextContext.cpp:175
bool m_valid
Definition FictionBook2TextContext.h:83
std::string m_href
Definition FictionBook2TextContext.h:81
std::string m_altText
Definition FictionBook2TextContext.h:82
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:200
FictionBook2PContext(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:195
FictionBook2ParaContextBase(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:17
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2TextContext.cpp:27
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:22
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2TextContext.cpp:32
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:212
FictionBook2StrikethroughContext(std::shared_ptr< FictionBook2ParserContext > parentContext, FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:207
FictionBook2StrongContext(std::shared_ptr< FictionBook2ParserContext > parentContext, FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:217
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:222
FictionBook2StyleContextBase(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2Style &style)
Definition FictionBook2ParserContext.cpp:148
FictionBook2StyleContext(std::shared_ptr< FictionBook2ParserContext > parentContext, FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:227
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:232
Definition FictionBook2Style.h:56
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:242
FictionBook2SubContext(std::shared_ptr< FictionBook2ParserContext > parentContext, FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:237
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:252
FictionBook2SubtitleContext(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:247
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TextContext.cpp:264
FictionBook2SupContext(std::shared_ptr< FictionBook2ParserContext > parentContext, FictionBook2Style &style)
Definition FictionBook2TextContext.cpp:259
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:274
FictionBook2TextAuthorContext(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:269
static FictionBook2BlockFormat makeBlockFormat(const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:286
FictionBook2VContext(std::shared_ptr< FictionBook2ParserContext > parentContext, const FictionBook2BlockFormat &format)
Definition FictionBook2TextContext.cpp:281
@ value
Definition EBOOKHTMLToken.h:261
@ style
Definition EBOOKHTMLToken.h:135
@ name
Definition EBOOKHTMLToken.h:214
@ text
Definition EBOOKHTMLToken.h:257
@ format
Definition EBOOKOPFToken.h:54
Definition BBeBCollector.cpp:20
Definition FictionBook2Style.h:36
Definition FictionBook2Token.h:134

Generated for libe-book by doxygen 1.16.1