FlightGear
next
SimpleDOM.hxx
Go to the documentation of this file.
1
// SimpleDOM.hxx -- poor man's DOM
2
//
3
// Written by Torsten Dreyer
4
//
5
// Copyright (C) 2014 Torsten Dreyer
6
//
7
// This program is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU General Public License as
9
// published by the Free Software Foundation; either version 2 of the
10
// License, or (at your option) any later version.
11
//
12
// This program is distributed in the hope that it will be useful, but
13
// WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with this program; if not, write to the Free Software
19
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21
#ifndef __FG_SIMPLE_DOM_HXX
22
#define __FG_SIMPLE_DOM_HXX
23
24
#include <string>
25
#include <map>
26
#include <vector>
27
28
namespace
flightgear
{
29
namespace
http
{
30
31
class
DOMElement
{
32
public
:
33
virtual
~DOMElement
() {}
34
virtual
std::string
render
()
const
= 0;
35
};
36
37
class
DOMTextElement
:
public
DOMElement
{
38
public
:
39
DOMTextElement
(
const
std::string & text ) : _text(text) {}
40
virtual
std::string
render
()
const
{
return
_text; }
41
42
private
:
43
std::string _text;
44
};
45
46
class
DOMNode
:
public
DOMElement
{
47
public
:
48
DOMNode
(
const
std::string &
name
) :
_name
(
name
) {}
49
virtual
~DOMNode
();
50
51
virtual
std::string
render
()
const
;
52
virtual
DOMNode
*
addChild
(
DOMElement
* child );
53
virtual
DOMNode
*
setAttribute
(
const
std::string &
name
,
const
std::string & value );
54
protected
:
55
std::string
_name
;
56
typedef
std::vector<const DOMElement*>
Children_t
;
57
typedef
std::map<std::string,std::string>
Attributes_t
;
58
Children_t
_children
;
59
Attributes_t
_attributes
;
60
};
61
62
}
63
}
64
#endif
// __FG_SIMPLE_DOM_HXX
flightgear::http::DOMElement
Definition
SimpleDOM.hxx:31
flightgear::http::DOMElement::render
virtual std::string render() const =0
flightgear::http::DOMElement::~DOMElement
virtual ~DOMElement()
Definition
SimpleDOM.hxx:33
flightgear::http::DOMNode
Definition
SimpleDOM.hxx:46
flightgear::http::DOMNode::_children
Children_t _children
Definition
SimpleDOM.hxx:58
flightgear::http::DOMNode::render
virtual std::string render() const
Definition
SimpleDOM.cxx:13
flightgear::http::DOMNode::setAttribute
virtual DOMNode * setAttribute(const std::string &name, const std::string &value)
Definition
SimpleDOM.cxx:47
flightgear::http::DOMNode::_name
std::string _name
Definition
SimpleDOM.hxx:55
flightgear::http::DOMNode::_attributes
Attributes_t _attributes
Definition
SimpleDOM.hxx:59
flightgear::http::DOMNode::addChild
virtual DOMNode * addChild(DOMElement *child)
Definition
SimpleDOM.cxx:41
flightgear::http::DOMNode::Children_t
std::vector< const DOMElement * > Children_t
Definition
SimpleDOM.hxx:56
flightgear::http::DOMNode::~DOMNode
virtual ~DOMNode()
Definition
SimpleDOM.cxx:7
flightgear::http::DOMNode::Attributes_t
std::map< std::string, std::string > Attributes_t
Definition
SimpleDOM.hxx:57
flightgear::http::DOMNode::DOMNode
DOMNode(const std::string &name)
Definition
SimpleDOM.hxx:48
flightgear::http::DOMTextElement::DOMTextElement
DOMTextElement(const std::string &text)
Definition
SimpleDOM.hxx:39
flightgear::http::DOMTextElement::render
virtual std::string render() const
Definition
SimpleDOM.hxx:40
flightgear::http
Definition
FlightHistoryUriHandler.cxx:33
flightgear
FlightPlan.hxx - defines a full flight-plan object, including departure, cruise, arrival information ...
Definition
Addon.cxx:53
flightgear::name
const char * name
Definition
subsystemFactory.cxx:307
src
Network
http
SimpleDOM.hxx
Generated on Tue Jun 3 2025 12:58:41 for FlightGear by
1.13.2