aboutsummaryrefslogtreecommitdiff
path: root/c++-libbu++
diff options
context:
space:
mode:
Diffstat (limited to 'c++-libbu++')
-rw-r--r--c++-libbu++/src/object.cpp19
-rw-r--r--c++-libbu++/src/object.h3
2 files changed, 22 insertions, 0 deletions
diff --git a/c++-libbu++/src/object.cpp b/c++-libbu++/src/object.cpp
index 61471b9..7cd50e6 100644
--- a/c++-libbu++/src/object.cpp
+++ b/c++-libbu++/src/object.cpp
@@ -15,10 +15,14 @@
15#include "gats/dictionary.h" 15#include "gats/dictionary.h"
16#include "gats/null.h" 16#include "gats/null.h"
17 17
18#include "gats/gatsstream.h"
19
18#include <stdlib.h> 20#include <stdlib.h>
19 21
20#include <bu/formatter.h> 22#include <bu/formatter.h>
21#include <bu/stream.h> 23#include <bu/stream.h>
24#include <bu/membuf.h>
25#include <bu/staticmembuf.h>
22 26
23#include <bu/sio.h> 27#include <bu/sio.h>
24using namespace Bu; 28using namespace Bu;
@@ -31,6 +35,21 @@ Gats::Object::~Object()
31{ 35{
32} 36}
33 37
38Bu::String Gats::Object::toPacket()
39{
40 Bu::MemBuf mbOut;
41 Gats::GatsStream gsOut( mbOut );
42 gsOut.writeObject( this );
43 return mbOut.getString();
44}
45
46Gats::Object *Gats::Object::fromPacket( const Bu::String &sData )
47{
48 Bu::StaticMemBuf mbIn( sData.getStr(), sData.getSize() );
49 Gats::GatsStream gsIn( mbIn );
50 return gsIn.readObject();
51}
52
34Gats::Object *Gats::Object::read( Bu::Stream &rIn ) 53Gats::Object *Gats::Object::read( Bu::Stream &rIn )
35{ 54{
36 char buf; 55 char buf;
diff --git a/c++-libbu++/src/object.h b/c++-libbu++/src/object.h
index 62da7c1..859e126 100644
--- a/c++-libbu++/src/object.h
+++ b/c++-libbu++/src/object.h
@@ -44,6 +44,9 @@ namespace Gats
44 virtual void read( Bu::Stream &rIn, char cType )=0; 44 virtual void read( Bu::Stream &rIn, char cType )=0;
45 virtual Object *clone() const=0; 45 virtual Object *clone() const=0;
46 46
47 Bu::String toPacket();
48 static Object *fromPacket( const Bu::String &sData );
49
47 static Object *read( Bu::Stream &rIn ); 50 static Object *read( Bu::Stream &rIn );
48 static Object *strToGats( const Bu::String &sStr ); 51 static Object *strToGats( const Bu::String &sStr );
49 52