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
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