8#include <Atlas/Codec.h>
28 virtual void streamBegin();
29 virtual void streamMessage();
30 virtual void streamEnd();
32 virtual void mapItem(
const std::string& name,
const Map&);
33 virtual void mapItem(
const std::string& name,
const List&);
34 virtual void mapItem(
const std::string& name, std::int64_t);
35 virtual void mapItem(
const std::string& name,
double);
36 virtual void mapItem(
const std::string& name,
const std::string&);
37 virtual void mapEnd();
39 virtual void listItem(
const Map&);
40 virtual void listItem(
const List&);
41 virtual void listItem(std::int64_t);
42 virtual void listItem(
double);
43 virtual void listItem(
const std::string&);
44 virtual void listEnd();
48 std::iostream& socket;
66 : socket(p.stream), bridge(p.bridge)
72 if (!can_read)
return;
75 char next = socket.get();
79 while (socket.rdbuf()->in_avail());
82void XMLish::streamBegin()
87void XMLish::streamMessage()
92void XMLish::streamEnd()
97void XMLish::mapItem(
const std::string& name,
const Map&)
99 socket <<
"<map name=\"" << name <<
"\">";
102void XMLish::mapItem(
const std::string& name,
const List&)
104 socket <<
"<list name=\"" << name <<
"\">";
107void XMLish::mapItem(
const std::string& name, std::int64_t data)
109 socket <<
"<int name=\"" << name <<
"\">" << data <<
"</int>";
112void XMLish::mapItem(
const std::string& name,
double data)
114 socket <<
"<float name=\"" << name <<
"\">" << data <<
"</float>";
117void XMLish::mapItem(
const std::string& name,
const std::string& data)
119 socket <<
"<string name=\"" << name <<
"\">" << data <<
"</string>";
127void XMLish::listItem(
const Map&)
132void XMLish::listItem(
const List&)
137void XMLish::listItem(std::int64_t data)
139 socket <<
"<int>" << data <<
"</int>";
142void XMLish::listItem(
double data)
144 socket <<
"<float>" << data <<
"</float>";
147void XMLish::listItem(
const std::string& data)
149 socket <<
"<string>" << data <<
"</string>";
152void XMLish::listEnd()