EBOOKXMLContextBase.h Source File documentation

EBOOKXMLContextBase.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 EBOOKXMLCONTEXTBASE_H_INCLUDED
11 #define EBOOKXMLCONTEXTBASE_H_INCLUDED
12
13 #include "EBOOKXMLContext.h"
14
15 namespace libebook
16 {
17
18 class EBOOKXMLElementContextBase : public EBOOKXMLContext
19 {
20 protected:
21 void startOfElement() override;
22 void attribute(int name, const char *value) override;
23 void endOfAttributes() override;
24 void text(const char *value) override;
25 void endOfElement() override;
26 };
27
28 class EBOOKXMLTextContextBase : public EBOOKXMLContext
29 {
30 protected:
31 void startOfElement() override;
32 void attribute(int name, const char *value) override;
33 void endOfAttributes() override;
34 std::shared_ptr<EBOOKXMLContext> element(int name) override;
35 void endOfElement() override;
36 };
37
38 class EBOOKXMLMixedContextBase : public EBOOKXMLContext
39 {
40 protected:
41 void startOfElement() override;
42 void attribute(int name, const char *value) override;
43 void endOfAttributes() override;
44 void endOfElement() override;
45 };
46
47 class EBOOKXMLEmptyContextBase : public EBOOKXMLContext
48 {
49 protected:
50 void startOfElement() override;
51 void endOfAttributes() override;
52 std::shared_ptr<EBOOKXMLContext> element(int name) override;
53 void text(const char *value) override;
54 void endOfElement() override;
55 };
56
57 }
58
59 #endif // EBOOKXMLCONTEXTBASE_H_INCLUDED
60
61 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libebook::EBOOKXMLEmptyContextBase::text
void text(const char *value) override
Process textual content of an element.
Definition: EBOOKXMLContextBase.cpp:88
libebook::EBOOKXMLElementContextBase
Definition: EBOOKXMLContextBase.h:18
libebook::EBOOKXMLEmptyContextBase
Definition: EBOOKXMLContextBase.h:47
name
string name
Definition: HTMLHelpStream.cpp:80
libebook::EBOOKXMLEmptyContextBase::endOfElement
void endOfElement() override
Signalize the end of an element.
Definition: EBOOKXMLContextBase.cpp:93
libebook::EBOOKXMLMixedContextBase::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: EBOOKXMLContextBase.cpp:58
libebook::EBOOKXMLMixedContextBase::endOfAttributes
void endOfAttributes() override
Signalize the end of attributes.
Definition: EBOOKXMLContextBase.cpp:66
libebook::EBOOKXMLTextContextBase::endOfElement
void endOfElement() override
Signalize the end of an element.
Definition: EBOOKXMLContextBase.cpp:54
libebook::EBOOKXMLMixedContextBase
Definition: EBOOKXMLContextBase.h:38
libebook::EBOOKXMLElementContextBase::startOfElement
void startOfElement() override
Signalize the start of an element.
libebook::EBOOKXMLElementContextBase::endOfAttributes
void endOfAttributes() override
Signalize the end of attributes.
Definition: EBOOKXMLContextBase.cpp:23
libebook::EBOOKXMLMixedContextBase::endOfElement
void endOfElement() override
Signalize the end of an element.
Definition: EBOOKXMLContextBase.cpp:70
libebook::EBOOKXMLTextContextBase::endOfAttributes
void endOfAttributes() override
Signalize the end of attributes.
Definition: EBOOKXMLContextBase.cpp:44
libebook::EBOOKXMLElementContextBase::endOfElement
void endOfElement() override
Signalize the end of an element.
Definition: EBOOKXMLContextBase.cpp:32
libebook::EBOOKXMLTextContextBase
Definition: EBOOKXMLContextBase.h:28
libebook::EBOOKXMLMixedContextBase::attribute
void attribute(int name, const char *value) override
Process an attribute.
Definition: EBOOKXMLContextBase.cpp:62
libebook::EBOOKXMLEmptyContextBase::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: EBOOKXMLContextBase.cpp:74
libebook::EBOOKXMLTextContextBase::attribute
void attribute(int name, const char *value) override
Process an attribute.
Definition: EBOOKXMLContextBase.cpp:40
libebook::EBOOKXMLTextContextBase::startOfElement
void startOfElement() override
Signalize the start of an element.
Definition: EBOOKXMLContextBase.cpp:36
EBOOKXMLContext.h
libebook
Definition: BBeBCollector.cpp:18
value
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition: TealDocParser.cpp:231
libebook::EBOOKXMLElementContextBase::text
void text(const char *value) override
Process textual content of an element.
Definition: EBOOKXMLContextBase.cpp:27
libebook::EBOOKXMLTextContextBase::element
std::shared_ptr< EBOOKXMLContext > element(int name) override
Create a context for parsing a child element.
Definition: EBOOKXMLContextBase.cpp:48
libebook::EBOOKXMLElementContextBase::attribute
void attribute(int name, const char *value) override
Process an attribute.
Definition: EBOOKXMLContextBase.cpp:19
libebook::EBOOKXMLEmptyContextBase::endOfAttributes
void endOfAttributes() override
Signalize the end of attributes.
Definition: EBOOKXMLContextBase.cpp:78
libebook::EBOOKXMLContext
Definition: EBOOKXMLContext.h:18
libebook::EBOOKXMLEmptyContextBase::element
std::shared_ptr< EBOOKXMLContext > element(int name) override
Create a context for parsing a child element.
Definition: EBOOKXMLContextBase.cpp:82