FB2ParserContext.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* libe-book
3  * Version: MPL 2.0 / LGPLv2.1+
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  * Alternatively, the contents of this file may be used under the terms
10  * of the GNU Lesser General Public License Version 2.1 or later
11  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
12  * applicable instead of those above.
13  *
14  * For further information visit http://libebook.sourceforge.net
15  */
16 
17 #ifndef FB2PARSERCONTEXT_H_INCLUDED
18 #define FB2PARSERCONTEXT_H_INCLUDED
19 
20 #include "FB2XMLParserContext.h"
21 #include "FB2Style.h"
22 
23 namespace libebook
24 {
25 
26 class FB2Collector;
27 
31 {
32  // no copying
33  FB2ParserContext(const FB2ParserContext &other);
35 
36 public:
42  explicit FB2ParserContext(FB2ParserContext *parentContext, FB2Collector *collector = 0);
43 
44  virtual FB2XMLParserContext *leaveContext() const;
45 
50  FB2Collector *getCollector() const;
51 
57 
58 private:
61 };
62 
69 {
70 public:
71  explicit FB2NodeContextBase(FB2ParserContext *parentContext, FB2Collector *collector = 0);
72 
73 private:
74  virtual void startOfElement();
75  virtual void endOfAttributes();
76  virtual void text(const char *value);
77 };
78 
89 {
90 public:
91  explicit FB2DataContextBase(FB2ParserContext *parentContext);
92 
93 private:
94  virtual FB2XMLParserContext *element(const EBOOKToken &name, const EBOOKToken &ns);
95  virtual void startOfElement();
96  virtual void endOfAttributes();
97  virtual void text(const char *value);
98 };
99 
106 {
107 public:
108  explicit FB2TextContextBase(FB2ParserContext *parentContext);
109 
110 private:
111  virtual FB2XMLParserContext *element(const EBOOKToken &name, const EBOOKToken &ns);
112  virtual void startOfElement();
113  virtual void endOfElement();
114  virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value);
115  virtual void endOfAttributes();
116 };
117 
121 {
122 public:
123  explicit FB2SkipElementContext(FB2ParserContext *parentContext);
124 
125 private:
126  virtual FB2XMLParserContext *leaveContext() const;
127 
128  virtual FB2XMLParserContext *element(const EBOOKToken &name, const EBOOKToken &ns);
129  virtual void startOfElement();
130  virtual void endOfElement();
131  virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value);
132  virtual void endOfAttributes();
133  virtual void text(const char *value);
134 
135 private:
136  unsigned m_level;
137 };
138 
140 {
141 public:
142  FB2StyleContextBase(FB2ParserContext *parentContext, const FB2Style &style);
143 
144 protected:
145  FB2Style &getStyle();
147 
148 private:
149  virtual FB2XMLParserContext *element(const EBOOKToken &name, const EBOOKToken &ns);
150  virtual void endOfElement();
151  virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value);
152  virtual void endOfAttributes();
153  virtual void text(const char *value);
154 
155 private:
157 };
158 
160 {
161 public:
162  FB2BlockFormatContextBase(FB2ParserContext *parentContext, const FB2BlockFormat &format);
163 
165  const FB2BlockFormat &getBlockFormat() const;
166 
167 private:
169 };
170 
171 }
172 
173 #endif // FB2PARSERCONTEXT_H_INCLUDED
174 
175 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value)
Process an attribute.
Definition: FB2ParserContext.cpp:105
virtual FB2XMLParserContext * element(const EBOOKToken &name, const EBOOKToken &ns)
Create a context for parsing a child element.
Definition: FB2ParserContext.cpp:172
optional< Style > style
Definition: TDParser.cpp:114
virtual void endOfAttributes()
Signalize the end of attributes.
Definition: FB2ParserContext.cpp:208
Base class for non-leaf element contexts.
Definition: FB2ParserContext.h:68
FB2ParserContext & operator=(const FB2ParserContext &other)
FB2SkipElementContext(FB2ParserContext *parentContext)
Definition: FB2ParserContext.cpp:113
Base class for leaf data element contexts.
Definition: FB2ParserContext.h:88
virtual void text(const char *value)
Process textual content of an element.
Definition: FB2ParserContext.cpp:152
Definition: FB2Collector.h:26
FB2ParserContext *const m_parentContext
Definition: FB2ParserContext.h:60
virtual void startOfElement()
Signalize the start of an element.
Definition: FB2ParserContext.cpp:53
FB2BlockFormatContextBase(FB2ParserContext *parentContext, const FB2BlockFormat &format)
Definition: FB2ParserContext.cpp:234
Definition: FB2XMLParserContext.h:25
FB2BlockFormat & getBlockFormat()
Definition: FB2ParserContext.cpp:240
virtual void endOfAttributes()
Signalize the end of attributes.
Definition: FB2ParserContext.cpp:57
virtual void text(const char *value)
Process textual content of an element.
Definition: FB2ParserContext.cpp:83
Definition: FB2Style.h:58
unsigned m_level
Definition: FB2ParserContext.h:136
FB2Style m_style
Definition: FB2ParserContext.h:156
virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value)
Process an attribute.
Definition: FB2ParserContext.cpp:212
FB2StyleContextBase(FB2ParserContext *parentContext, const FB2Style &style)
Definition: FB2ParserContext.cpp:156
virtual FB2XMLParserContext * element(const EBOOKToken &name, const EBOOKToken &ns)
Create a context for parsing a child element.
Definition: FB2ParserContext.cpp:92
virtual void endOfElement()
Signalize the end of an element.
Definition: FB2ParserContext.cpp:204
virtual void startOfElement()
Signalize the start of an element.
Definition: FB2ParserContext.cpp:135
virtual void endOfElement()
Signalize the end of an element.
Definition: FB2ParserContext.cpp:101
FB2ParserContext(const FB2ParserContext &other)
FB2Style & getStyle()
Definition: FB2ParserContext.cpp:162
FB2Collector * getCollector() const
Get the collector.
Definition: FB2ParserContext.cpp:38
Definition: FB2Token.h:125
FB2DataContextBase(FB2ParserContext *parentContext)
Definition: FB2ParserContext.cpp:65
Definition: FB2Style.h:27
virtual FB2XMLParserContext * leaveContext() const
Destroy this context and return parent.
Definition: FB2ParserContext.cpp:31
FB2TextFormat & getTextFormat()
Definition: FB2ParserContext.cpp:167
Definition: EBOOKToken.h:23
FB2TextContextBase(FB2ParserContext *parentContext)
Definition: FB2ParserContext.cpp:87
FB2ParserContext * getParentContext() const
Get the parent context.
Definition: FB2ParserContext.cpp:43
virtual void startOfElement()
Signalize the start of an element.
Definition: FB2ParserContext.cpp:75
Definition: FB2ParserContext.h:159
virtual void text(const char *value)
Process textual content of an element.
Definition: FB2ParserContext.cpp:61
virtual void endOfAttributes()
Signalize the end of attributes.
Definition: FB2ParserContext.cpp:79
Context for skipping element hierarchies.
Definition: FB2ParserContext.h:120
FB2Collector *const m_collector
Definition: FB2ParserContext.h:59
virtual void endOfAttributes()
Signalize the end of attributes.
Definition: FB2ParserContext.cpp:148
virtual void endOfAttributes()
Signalize the end of attributes.
Definition: FB2ParserContext.cpp:109
virtual FB2XMLParserContext * leaveContext() const
Destroy this context and return parent.
Definition: FB2ParserContext.cpp:119
virtual FB2XMLParserContext * element(const EBOOKToken &name, const EBOOKToken &ns)
Create a context for parsing a child element.
Definition: FB2ParserContext.cpp:129
virtual void text(const char *value)
Process textual content of an element.
Definition: FB2ParserContext.cpp:227
FB2NodeContextBase(FB2ParserContext *parentContext, FB2Collector *collector=0)
Definition: FB2ParserContext.cpp:48
FB2BlockFormat m_format
Definition: FB2ParserContext.h:168
Base class for leaf textual element contexts.
Definition: FB2ParserContext.h:105
virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value)
Process an attribute.
Definition: FB2ParserContext.cpp:144
virtual void startOfElement()
Signalize the start of an element.
Definition: FB2ParserContext.cpp:97
Definition: FB2ParserContext.h:139
virtual void endOfElement()
Signalize the end of an element.
Definition: FB2ParserContext.cpp:139
Definition: FB2Style.h:40
Base class for all contexts.
Definition: FB2ParserContext.h:30
const char * name
Definition: FB2Token.cpp:26
virtual FB2XMLParserContext * element(const EBOOKToken &name, const EBOOKToken &ns)
Create a context for parsing a child element.
Definition: FB2ParserContext.cpp:70

Generated for libe-book by doxygen 1.8.5