Close menu
Start
Download
Getting Started
License
References
Jam Build Tool
Class Index
Namespaces
Modules
Pt
›
Documentation
Documentation
›
Get Platinum
≡
Class Index
Namespaces
Modules
include
Pt
Xml
XmlDeserializer.h
1
/*
2
* Copyright (C) 2008-2012 by Marc Boris Duerner
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* As a special exception, you may use this file as part of a free
10
* software library without restriction. Specifically, if other files
11
* instantiate templates or use macros or inline functions from this
12
* file, or you compile this file and link it with other files to
13
* produce an executable, this file does not by itself cause the
14
* resulting executable to be covered by the GNU General Public
15
* License. This exception does not however invalidate any other
16
* reasons why the executable file might be covered by the GNU Library
17
* General Public License.
18
*
19
* This library is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
* Lesser General Public License for more details.
23
*
24
* You should have received a copy of the GNU Lesser General Public
25
* License along with this library; if not, write to the Free Software
26
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
27
*/
28
29
#ifndef Pt_Xml_XmlDeserializer_h
30
#define Pt_Xml_XmlDeserializer_h
31
32
#include <Pt/Xml/Api.h>
33
#include <Pt/Xml/XmlSerializationContext.h>
34
#include <Pt/Xml/XmlFormatter.h>
35
#include <Pt/Deserializer.h>
36
37
namespace
Pt
{
38
39
namespace
Xml
{
40
41
class
XmlReader
;
42
45
class
XmlDeserializer
:
public
Deserializer
46
{
47
public
:
50
XmlDeserializer
()
51
{
52
this->
reset
( &_xmlcontext );
53
this->
setFormatter
(_formatter);
54
}
55
58
explicit
XmlDeserializer
(
XmlReader
&
reader
)
59
: _formatter(
reader
)
60
{
61
this->
reset
( &_xmlcontext );
62
this->
setFormatter
(_formatter);
63
}
64
67
void
attach
(
XmlReader
&
reader
)
68
{
69
_formatter.attach(
reader
);
70
}
71
74
void
detach
()
75
{
76
_formatter.detach();
77
}
78
81
XmlReader
*
reader
()
82
{
83
return
_formatter.reader();
84
}
85
86
private
:
88
XmlSerializationContext
_xmlcontext;
89
91
XmlFormatter
_formatter;
92
};
93
94
}
// namespace Xml
95
96
}
// namespace Pt
97
98
#endif
// Pt_Xml_XmlDeserializer_h
Pt::Deserializer::Deserializer
Deserializer()
Default constructor.
Pt::Deserializer::reset
void reset(SerializationContext *context)
Clears and resets the context.
Pt::Deserializer::setFormatter
void setFormatter(Formatter &formatter)
Sets the formatter.
Pt::Xml::XmlDeserializer::reader
XmlReader * reader()
Returns the attached XmlReader or a nullptr.
Definition
XmlDeserializer.h:81
Pt::Xml::XmlDeserializer::attach
void attach(XmlReader &reader)
Attach to an XmlReader.
Definition
XmlDeserializer.h:67
Pt::Xml::XmlDeserializer::XmlDeserializer
XmlDeserializer(XmlReader &reader)
Construct to use an XmlReader.
Definition
XmlDeserializer.h:58
Pt::Xml::XmlDeserializer::XmlDeserializer
XmlDeserializer()
Default Constructor.
Definition
XmlDeserializer.h:50
Pt::Xml::XmlDeserializer::detach
void detach()
Detach from its XmlReader.
Definition
XmlDeserializer.h:74
Pt::Xml::XmlFormatter
Format objects or data to XML.
Definition
XmlFormatter.h:52
Pt::Xml::XmlReader
Reads XML as a Stream of XML Nodes.
Definition
XmlReader.h:80
Pt::Xml::XmlSerializationContext
Serialization context for XML serialization.
Definition
XmlSerializationContext.h:46
Pt::Xml
Read and write XML ducuments.
Pt
Core module.
Definition
Allocator.h:33