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