IWORKXMLContext.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 libetonyek 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 IWORKXMLCONTEXT_H_INCLUDED
11#define IWORKXMLCONTEXT_H_INCLUDED
12
13#include <memory>
14
15 namespace libetonyek
16{
17
18 class IWORKXMLContext;
19
20 typedef std::shared_ptr<IWORKXMLContext> IWORKXMLContextPtr_t;
21
22 class IWORKXMLContext
23{
24 public:
25 virtual ~IWORKXMLContext() = 0;
26
32 virtual void startOfElement() = 0;
33
38 virtual void attribute(int name, const char *value) = 0;
39
45 virtual IWORKXMLContextPtr_t element(int name) = 0;
46
52 virtual void text(const char *value) = 0;
53
57 virtual void CDATA(const char *value);
58
61 virtual void endOfElement() = 0;
62};
63
64}
65
66#endif // IWORKXMLCONTEXT_H_INCLUDED
67
68/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libetonyek::IWORKXMLContext
Definition IWORKXMLContext.h:23
libetonyek::IWORKXMLContext::endOfElement
virtual void endOfElement()=0
Signalize the end of an element.
libetonyek::IWORKXMLContext::attribute
virtual void attribute(int name, const char *value)=0
Process an attribute.
libetonyek::IWORKXMLContext::text
virtual void text(const char *value)=0
Process textual content of an element.
libetonyek::IWORKXMLContext::element
virtual IWORKXMLContextPtr_t element(int name)=0
Create a context for parsing a child element.
libetonyek::IWORKXMLContext::~IWORKXMLContext
virtual ~IWORKXMLContext()=0
Definition IWORKXMLContext.cpp:17
libetonyek::IWORKXMLContext::CDATA
virtual void CDATA(const char *value)
Process CDATA content of an element.
Definition IWORKXMLContext.cpp:21
libetonyek::IWORKXMLContext::startOfElement
virtual void startOfElement()=0
Signalize the start of an element.
libetonyek::IWORKToken::value
@ value
Definition IWORKToken.h:631
libetonyek::IWORKToken::name
@ name
Definition IWORKToken.h:585
libetonyek
Definition IWORKBezierElement.cpp:21
libetonyek::IWORKXMLContextPtr_t
std::shared_ptr< IWORKXMLContext > IWORKXMLContextPtr_t
Definition IWORKXMLContext.h:20