00001 #ifndef SCT_ISPROXY_ISPROXYSTREAMER_H 00002 #define SCT_ISPROXY_ISPROXYSTREAMER_H 00003 00004 #include "../Streamer.h" 00005 #include "../IoExceptions.h" 00006 #include "../LogicErrors.h" 00007 00008 namespace Sct { 00009 namespace ISProxy { 00010 00011 class ISProxyStreamer : public virtual Streamer { 00012 public: 00013 //Streamer overrides 00014 virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError); 00015 virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError); 00016 virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError); 00017 00018 virtual unsigned getVersion() const throw() {return s_version;} 00019 private: 00020 ISProxyStreamer() throw(); 00021 static unsigned s_version; 00022 static bool inMap; 00023 }; 00024 } 00025 } 00026 #endif //SCT_ISPROXY_ISPROXYSTREAMER_H