--- /dev/null
+#ifndef GDE_SESSION_HPP
+#define GDE_SESSION_HPP
+
+#include "User.hpp"
+#include "Credentials.hpp"
+
+#include <string>
+
+namespace gde {
+
+ class GDESession {
+
+ public:
+
+ GDESession(const std::string& serverAddress, const Credentials& credentials=Credentials())
+ : _serverAddress(serverAddress), _credentials(credentials)
+ {}
+ GDESession(const GDESession& x)
+ : _serverAddress(x._serverAddress), _credentials(x._credentials)
+ {}
+ ~GDESession() {}
+
+ inline std::string getServerAddress() const { return _serverAddress; }
+ //inline void setServerAddress(const std::string& serverAddress) { this->_serverAddress = serverAddress; }
+
+ inline const Credentials& getCredentials() const { return _credentials; }
+ //inline void setCredentials(const Credentials& credentials) { this->_credentials = credentials; }
+
+ std::string getServiceURI(const std::string& serviceName) const;
+
+ const User createUser(const std::string& name, const std::string& password);
+ void deleteUser(const User&);
+
+ private:
+ std::string _serverAddress;
+ Credentials _credentials;
+
+ };
+
+};
+
+#endif