00001 #ifndef SCT_IS_IOMANAGERIS_H 00002 #define SCT_IS_IOMANAGERIS_H 00003 00004 #include <is/isinfo.h> 00005 #include "../IOManager.h" 00006 #include "../IoExceptions.h" 00007 #include "../LogicErrors.h" 00008 00009 namespace Sct { 00010 namespace IS { 00011 00012 class IOManagerIS : public IOManager { 00013 public: 00014 static IOManagerIS& instance() throw(); 00015 00016 virtual void write(const Serializable& ob, const IOParams* params = 0) const throw(LogicError, IoError); 00017 virtual shared_ptr<Serializable> read(const string& name, const IOParams* params = 0) const throw(LogicError, IoError); 00018 virtual shared_ptr<Serializable> read(const ISCallbackInfo& info) const throw(LogicError, IoError); 00019 virtual shared_ptr<Serializable> read(ISInfoIterator& it) const throw(LogicError, IoError); 00020 00021 protected: 00022 IOManagerIS() throw(); 00023 }; 00024 00025 class IOParamsIS : public IOParams { 00026 public: 00027 IOParamsIS(const string& serverName) : serverName(serverName) {} 00028 00029 string serverName; 00030 }; 00031 00032 } 00033 } 00034 00035 #endif //SCT_IS_IOMANAGERIS_H