00001 #include "ISProxyStreamer.h" 00002 #include "ISProxy.h" 00003 #include "../IOManager.h" 00004 #include "../File/IOManagerFile.h" 00005 #include <memory> 00006 00007 using namespace Sct::File; 00008 using namespace std; 00009 00010 namespace Sct { 00011 namespace ISProxy { 00012 00013 unsigned ISProxyStreamer::s_version=1; 00014 00015 ISProxyStreamer::ISProxyStreamer() throw () {} 00016 bool ISProxyStreamer::inMap = IOManager::addToMap("Sct::ISProxy::ISProxy", auto_ptr<Streamer>(new ISProxyStreamer())); 00017 00018 void ISProxyStreamer::write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) { 00019 const ISProxy& var = dynamic_cast<const ISProxy&>(ob); 00020 out << var.getFileName(); 00021 } 00022 00023 shared_ptr<Streamable> ISProxyStreamer::read(IStream& in, const IOManager& manager) const throw(LogicError, IoError) { 00024 string fileName; 00025 in >> fileName; 00026 00027 return IOManagerFile::instance().read(fileName); 00028 } 00029 00030 void ISProxyStreamer::read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) { 00031 ISProxy& var = dynamic_cast<ISProxy&>(ob); 00032 string fileName; 00033 in >> fileName; 00034 var.setFileName(fileName); 00035 } 00036 00037 00038 00039 } 00040 }