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 
16 namespace libebook
17 {
18 
19 class FictionBook2Collector;
20 
24 {
25  // no copying
28 
29 public:
35  explicit FictionBook2ParserContext(FictionBook2ParserContext *parentContext, FictionBook2Collector *collector = nullptr);
36 
38 
44 
50 
51 private:
54 };
55 
62 {
63 public:
64  explicit FictionBook2NodeContextBase(FictionBook2ParserContext *parentContext, FictionBook2Collector *collector = nullptr);
65 
66 private:
67  void startOfElement() override;
68  void endOfAttributes() override;
69  void text(const char *value) override;
70 };
71 
82 {
83 public:
85 
86 private:
88  void startOfElement() override;
89  void endOfAttributes() override;
90  void text(const char *value) override;
91 };
92 
99 {
100 public:
102 
103 private:
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 {
115 public:
117 
118 private:
119  FictionBook2XMLParserContext *leaveContext() const override;
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 
128 private:
129  unsigned m_level;
130 };
131 
133 {
134 public:
136 
137 protected:
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 
147 private:
149 };
150 
152 {
153 public:
155 
158 
159  void setLang(const char *lang);
160 
161 private:
163 };
164 
165 }
166 
167 #endif // FICTIONBOOK2PARSERCONTEXT_H_INCLUDED
168 
169 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition: FictionBook2ParserContext.cpp:85
FictionBook2XMLParserContext * leaveContext() const override
Destroy this context and return parent.
Definition: FictionBook2ParserContext.cpp:112
FictionBook2BlockFormat & getBlockFormat()
Definition: FictionBook2ParserContext.cpp:224
unsigned m_level
Definition: FictionBook2ParserContext.h:129
FictionBook2ParserContext * getParentContext() const
Get the parent context.
Definition: FictionBook2ParserContext.cpp:36
void endOfAttributes() override
Signalize the end of attributes.
Definition: FictionBook2ParserContext.cpp:102
void endOfElement() override
Signalize the end of an element.
Definition: FictionBook2ParserContext.cpp:197
FictionBook2Collector *const m_collector
Definition: FictionBook2ParserContext.h:52
FictionBook2Collector * getCollector() const
Get the collector.
Definition: FictionBook2ParserContext.cpp:31
FictionBook2DataContextBase(FictionBook2ParserContext *parentContext)
Definition: FictionBook2ParserContext.cpp:58
void endOfAttributes() override
Signalize the end of attributes.
Definition: FictionBook2ParserContext.cpp:201
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2ParserContext.cpp:46
FictionBook2TextContextBase(FictionBook2ParserContext *parentContext)
Definition: FictionBook2ParserContext.cpp:80
Definition: FictionBook2Style.h:55
Definition: FictionBook2ParserContext.h:132
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:132
Definition: EBOOKHTMLToken.h:205
Definition: FictionBook2XMLParserContext.h:18
FictionBook2BlockFormat m_format
Definition: FictionBook2ParserContext.h:162
FictionBook2SkipElementContext(FictionBook2ParserContext *parentContext)
Definition: FictionBook2ParserContext.cpp:106
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition: FictionBook2ParserContext.cpp:122
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition: FictionBook2ParserContext.cpp:137
void text(const char *value) override
Process textual content of an element.
Definition: FictionBook2ParserContext.cpp:145
void text(const char *value) override
Process textual content of an element.
Definition: FictionBook2ParserContext.cpp:76
FictionBook2NodeContextBase(FictionBook2ParserContext *parentContext, FictionBook2Collector *collector=nullptr)
Definition: FictionBook2ParserContext.cpp:41
Definition: FictionBook2ParserContext.h:151
void endOfAttributes() override
Signalize the end of attributes.
Definition: FictionBook2ParserContext.cpp:72
Definition: FictionBook2Style.h:35
Definition: FictionBook2Token.h:133
Context for skipping element hierarchies.
Definition: FictionBook2ParserContext.h:113
FictionBook2TextFormat & getTextFormat()
Definition: FictionBook2ParserContext.cpp:160
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2ParserContext.cpp:68
const char * name
Definition: EBOOKHTMLToken.cpp:44
void text(const char *value) override
Process textual content of an element.
Definition: FictionBook2ParserContext.cpp:211
FictionBook2StyleContextBase(FictionBook2ParserContext *parentContext, const FictionBook2Style &style)
Definition: FictionBook2ParserContext.cpp:149
void setLang(const char *lang)
Definition: FictionBook2ParserContext.cpp:234
Base class for leaf textual element contexts.
Definition: FictionBook2ParserContext.h:98
Base class for non-leaf element contexts.
Definition: FictionBook2ParserContext.h:61
FictionBook2Style m_style
Definition: FictionBook2ParserContext.h:148
FictionBook2ParserContext *const m_parentContext
Definition: FictionBook2ParserContext.h:53
Base class for all contexts.
Definition: FictionBook2ParserContext.h:23
void endOfAttributes() override
Signalize the end of attributes.
Definition: FictionBook2ParserContext.cpp:141
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition: FictionBook2ParserContext.cpp:98
Definition: EBOOKOPFToken.h:54
FictionBook2ParserContext & operator=(const FictionBook2ParserContext &other)
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2ParserContext.cpp:90
Definition: FictionBook2Collector.h:22
Definition: BBeBCollector.cpp:18
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition: TealDocParser.cpp:231
FictionBook2ParserContext(const FictionBook2ParserContext &other)
void endOfElement() override
Signalize the end of an element.
Definition: FictionBook2ParserContext.cpp:94
optional< Style > style
Definition: TealDocParser.cpp:105
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition: FictionBook2ParserContext.cpp:205
FictionBook2BlockFormatContextBase(FictionBook2ParserContext *parentContext, const FictionBook2BlockFormat &format)
Definition: FictionBook2ParserContext.cpp:218
void text(const char *value) override
Process textual content of an element.
Definition: FictionBook2ParserContext.cpp:54
Definition: FictionBook2Style.h:21
Base class for leaf data element contexts.
Definition: FictionBook2ParserContext.h:81
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition: FictionBook2ParserContext.cpp:63
FictionBook2XMLParserContext * leaveContext() const override
Destroy this context and return parent.
Definition: FictionBook2ParserContext.cpp:24
void startOfElement() override
Signalize the start of an element.
Definition: FictionBook2ParserContext.cpp:128
void endOfAttributes() override
Signalize the end of attributes.
Definition: FictionBook2ParserContext.cpp:50

Generated for libe-book by doxygen 1.8.14