Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
marsh
CPFMarshaller.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Mon Jan 19 14:11:20 CET 2004 CPFMarshallInterface.hpp
3
4
CPFMarshallInterface.hpp - description
5
-------------------
6
begin : Mon January 19 2004
7
copyright : (C) 2004 Peter Soetens
8
email : peter.soetens@mech.kuleuven.ac.be
9
10
***************************************************************************
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU General Public *
13
* License as published by the Free Software Foundation; *
14
* version 2 of the License. *
15
* *
16
* As a special exception, you may use this file as part of a free *
17
* software library without restriction. Specifically, if other files *
18
* instantiate templates or use macros or inline functions from this *
19
* file, or you compile this file and link it with other files to *
20
* produce an executable, this file does not by itself cause the *
21
* resulting executable to be covered by the GNU General Public *
22
* License. This exception does not however invalidate any other *
23
* reasons why the executable file might be covered by the GNU General *
24
* Public License. *
25
* *
26
* This library is distributed in the hope that it will be useful, *
27
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
28
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
29
* Lesser General Public License for more details. *
30
* *
31
* You should have received a copy of the GNU General Public *
32
* License along with this library; if not, write to the Free Software *
33
* Foundation, Inc., 59 Temple Place, *
34
* Suite 330, Boston, MA 02111-1307 USA *
35
* *
36
***************************************************************************/
37
38
#ifndef PI_PROPERTIES_CPFSERIALIZER
39
#define PI_PROPERTIES_CPFSERIALIZER
40
41
#include <ostream>
42
#include <fstream>
43
#include <string>
44
#include "
MarshallInterface.hpp
"
45
#include "../Property.hpp"
46
#include "../base/PropertyIntrospection.hpp"
47
#include "
StreamProcessor.hpp
"
48
49
namespace
RTT
50
{
namespace
marsh {
51
52
53
template
<
class
T>
54
class
CPFMarshaller
;
55
61
template
<>
62
class
CPFMarshaller
<
std
::ostream>
63
:
public
MarshallInterface
,
64
protected
base::PropertyIntrospection
,
65
public
StreamProcessor
<std::ostream>
66
{
67
std::fstream
mfile
;
71
template
<
class
T>
72
void
doWrite(
const
Property<T>
&v,
const
std::string& type );
73
78
void
doWrite(
const
Property<std::string>
&v,
const
std::string& type );
79
85
void
doWrite(
const
Property<char>
&v,
const
std::string& type );
86
87
std::string
indent
;
88
89
std::string escape(std::string s);
90
91
virtual
void
introspect(
base::PropertyBase
* pb);
92
93
virtual
void
introspect(
Property<bool>
&v);
94
95
virtual
void
introspect(
Property<char>
&v);
96
97
virtual
void
introspect(
Property<unsigned char>
&v);
98
99
virtual
void
introspect(
Property<int>
&v);
100
101
virtual
void
introspect(
Property<unsigned int>
&v);
102
103
virtual
void
introspect(
Property<short>
&v);
104
105
virtual
void
introspect(
Property<unsigned short>
&v);
106
107
virtual
void
introspect(
Property<long long>
&v);
108
109
virtual
void
introspect(
Property<unsigned long long>
&v);
110
111
virtual
void
introspect(
Property<float>
&v);
112
113
virtual
void
introspect(
Property<double>
&v);
114
115
virtual
void
introspect(
Property<std::string>
&v);
116
117
virtual
void
introspect(
Property<PropertyBag>
&b);
118
119
public
:
123
CPFMarshaller
(std::ostream &os);
124
128
CPFMarshaller
(
const
std::string& filename);
129
130
virtual
void
serialize
(
base::PropertyBase
* v);
131
132
virtual
void
serialize
(
const
PropertyBag
&v);
133
134
virtual
void
flush();
135
};
136
}}
137
#endif
RTT::marsh::CPFMarshaller< std::ostream >::mfile
std::fstream mfile
Definition:
CPFMarshaller.hpp:67
RTT::marsh::MarshallInterface
A MarshallInterface converts Property objects to a (file/text) format.
Definition:
MarshallInterface.hpp:55
RTT::base::PropertyBase
Definition:
PropertyBase.hpp:56
StreamProcessor.hpp
std
Definition:
mystd.hpp:163
RTT::marsh::CPFMarshaller< std::ostream >::indent
std::string indent
Definition:
CPFMarshaller.hpp:87
MarshallInterface.hpp
RTT::PropertyBag
A container for holding references to properties.
Definition:
PropertyBag.hpp:96
RTT::marsh::CPFMarshaller
Definition:
CPFMarshaller.hpp:54
RTT::Property
A property represents a named value of any type with a description.
Definition:
Property.hpp:76
RTT::marsh::StreamProcessor
An interface for setting and getting a stream object. This can be a file, a string buffer...
Definition:
rtt-marsh-fwd.hpp:57
RTT::base::PropertyIntrospection
Definition:
PropertyIntrospection.hpp:60
boost::serialization::serialize
void serialize(Archive &a, RTT::ConnPolicy &c, unsigned int)
Definition:
ConnPolicyType.hpp:53
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:53
rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:32