00001
00002
00003 #ifndef Backend_h
00004 #define Backend_h
00005
00006 #include <string>
00007 #include <cc++/config.h>
00008
00009 #include <boost/serialization/vector.hpp>
00010
00011 #include "UserState.h"
00012
00020 class Backend {
00021 public:
00023 Backend() {};
00025 virtual ~Backend() {};
00026
00027
00028
00029
00030
00031
00032
00034 virtual void listSessions(std::vector<std::string>& list) = 0;
00035
00037 virtual bool listVersions(std::vector<uint32>& list,
00038 const std::string& session) = 0;
00039
00041 virtual std::istream& getInputStream(const UserState* userState,
00042 const std::string& filename) = 0;
00043
00045 virtual std::istream& getInputStream(const std::string& session,
00046 uint32 version,
00047 const std::string& filename) = 0;
00048
00050 virtual std::ostream& getOutputStream(const UserState* userState,
00051 const std::string& filename) = 0;
00052
00054 virtual std::ostream& getOutputStream(const std::string& session,
00055 uint32 version,
00056 const std::string& filename) = 0;
00057 };
00058 #endif