Salome HOME
add/delete user
[modules/gde.git] / projects / GDE_API_CPP / api / src / GDESession.hpp
diff --git a/projects/GDE_API_CPP/api/src/GDESession.hpp b/projects/GDE_API_CPP/api/src/GDESession.hpp
new file mode 100644 (file)
index 0000000..bdef8ab
--- /dev/null
@@ -0,0 +1,42 @@
+#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