FictionBook2ParserContext.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 FICTIONBOOK2PARSERCONTEXT_H_INCLUDED
11#define FICTIONBOOK2PARSERCONTEXT_H_INCLUDED
12
14#include "FictionBook2Style.h"
15
16namespace libebook
17{
18
19class FictionBook2Collector;
20
55
62{
63public:
64 explicit FictionBook2NodeContextBase(FictionBook2ParserContext *parentContext, FictionBook2Collector *collector = nullptr);
65
66private:
67 void startOfElement() override;
68 void endOfAttributes() override;
69 void text(const char *value) override;
70};
71
82{
83public:
85
86private:
88 void startOfElement() override;
89 void endOfAttributes() override;
90 void text(const char *value) override;
91};
92
99{
100public:
102
103private:
105 void startOfElement() override;
106 void endOfElement() override;
107 void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
108 void endOfAttributes() override;
109};
110
114{
115public:
117
118private:
120
122 void startOfElement() override;
123 void endOfElement() override;
124 void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
125 void endOfAttributes() override;
126 void text(const char *value) override;
127
128private:
129 unsigned m_level;
130};
131
133{
134public:
136
137protected:
140
142 void endOfElement() override;
143 void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
144 void endOfAttributes() override;
145 void text(const char *value) override;
146
147private:
149};
150
164
165}
166
167#endif // FICTIONBOOK2PARSERCONTEXT_H_INCLUDED
168
169/* 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 FictionBook2ParserContext.h:152
FictionBook2BlockFormat m_format
Definition FictionBook2ParserContext.h:162
FictionBook2BlockFormat & getBlockFormat()
Definition FictionBook2ParserContext.cpp:224
void setLang(const char *lang)
Definition FictionBook2ParserContext.cpp:234
FictionBook2BlockFormatContextBase(FictionBook2ParserContext *parentContext, const FictionBook2BlockFormat &format)
Definition FictionBook2ParserContext.cpp:218
Definition FictionBook2Collector.h:23
Base class for leaf data element contexts.
Definition FictionBook2ParserContext.h:82
FictionBook2DataContextBase(FictionBook2ParserContext *parentContext)
Definition FictionBook2ParserContext.cpp:58
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2ParserContext.cpp:72
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition FictionBook2ParserContext.cpp:63
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2ParserContext.cpp:68
Base class for non-leaf element contexts.
Definition FictionBook2ParserContext.h:62
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2ParserContext.cpp:50
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2ParserContext.cpp:46
FictionBook2NodeContextBase(FictionBook2ParserContext *parentContext, FictionBook2Collector *collector=nullptr)
Definition FictionBook2ParserContext.cpp:41
Base class for all contexts.
Definition FictionBook2ParserContext.h:24
FictionBook2Collector * getCollector() const
Get the collector.
Definition FictionBook2ParserContext.cpp:31
FictionBook2XMLParserContext * leaveContext() const override
Destroy this context and return parent.
Definition FictionBook2ParserContext.cpp:24
FictionBook2ParserContext * getParentContext() const
Get the parent context.
Definition FictionBook2ParserContext.cpp:36
FictionBook2ParserContext(const FictionBook2ParserContext &other)
FictionBook2Collector *const m_collector
Definition FictionBook2ParserContext.h:52
FictionBook2ParserContext & operator=(const FictionBook2ParserContext &other)
FictionBook2ParserContext *const m_parentContext
Definition FictionBook2ParserContext.h:53
Context for skipping element hierarchies.
Definition FictionBook2ParserContext.h:114
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2ParserContext.cpp:137
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2ParserContext.cpp:132
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2ParserContext.cpp:141
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2ParserContext.cpp:128
FictionBook2XMLParserContext * leaveContext() const override
Destroy this context and return parent.
Definition FictionBook2ParserContext.cpp:112
FictionBook2SkipElementContext(FictionBook2ParserContext *parentContext)
Definition FictionBook2ParserContext.cpp:106
unsigned m_level
Definition FictionBook2ParserContext.h:129
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition FictionBook2ParserContext.cpp:122
Definition FictionBook2ParserContext.h:133
FictionBook2Style & getStyle()
Definition FictionBook2ParserContext.cpp:155
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition FictionBook2ParserContext.cpp:165
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2ParserContext.cpp:197
FictionBook2Style m_style
Definition FictionBook2ParserContext.h:148
FictionBook2StyleContextBase(FictionBook2ParserContext *parentContext, const FictionBook2Style &style)
Definition FictionBook2ParserContext.cpp:149
FictionBook2TextFormat & getTextFormat()
Definition FictionBook2ParserContext.cpp:160
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2ParserContext.cpp:201
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2ParserContext.cpp:205
Definition FictionBook2Style.h:56
Base class for leaf textual element contexts.
Definition FictionBook2ParserContext.h:99
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2ParserContext.cpp:102
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition FictionBook2ParserContext.cpp:85
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2ParserContext.cpp:90
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2ParserContext.cpp:94
FictionBook2TextContextBase(FictionBook2ParserContext *parentContext)
Definition FictionBook2ParserContext.cpp:80
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2ParserContext.cpp:98
Definition FictionBook2XMLParserContext.h:19
Definition BBeBCollector.cpp:19
Definition FictionBook2Style.h:36
Definition FictionBook2Style.h:22
Definition FictionBook2Token.h:134

Generated for libe-book by doxygen 1.10.0