00001 #include "IOManagerDummy.h"
00002 #include "LogicErrors.h"
00003 #include "Streamable.h"
00004 #include "Streamer.h"
00005 #include "XmlStyleStream.h"
00006 #include <sstream>
00007
00008 namespace Sct {
00009 IOManagerDummy::IOManagerDummy() throw(){}
00010
00011 IOManagerDummy& IOManagerDummy::instance() throw(){
00012 static IOManagerDummy man;
00013 return man;
00014 }
00015 void IOManagerDummy::write(const Serializable& ob, const IOParams* params) const {
00016 throw IllegalStateError("Should not be used!",__FILE__,__LINE__);
00017 }
00018
00019 shared_ptr<Serializable> IOManagerDummy::read(const string& name, const IOParams* params) const {
00020 throw IllegalStateError("Should not be used!",__FILE__,__LINE__);
00021 }
00022
00023
00024 std::string IOManagerDummy::testStreaming1(const Streamable& ob) const {
00025 Streamer& streamer = getStreamer(ob.getClassName());
00026 std::ostringstream ostr;
00027 XmlStyleOStream ad1(ostr);
00028 streamer.write(ad1, ob, *this);
00029 return ostr.str();
00030 }
00031
00032 std::string IOManagerDummy::testStreaming2(const Streamable& ob) const {
00033 Streamer& streamer = getStreamer(ob.getClassName());
00034 std::ostringstream ostr;
00035 XmlStyleOStream ad1(ostr);
00036 streamer.write(ad1, ob, *this);
00037
00038 std::istringstream istr(ostr.str());
00039 XmlStyleIStream ad2(istr);
00040 shared_ptr<Streamable> testob = streamer.read(ad2, *this);
00041
00042 std::ostringstream ostr2;
00043 XmlStyleOStream ad3(ostr2);
00044 streamer.write(ad3, *testob, *this);
00045
00046 return ostr2.str();
00047 }
00048
00049 }