aboutsummaryrefslogtreecommitdiff
path: root/src/User.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/User.cpp')
-rw-r--r--src/User.cpp35
1 files changed, 28 insertions, 7 deletions
diff --git a/src/User.cpp b/src/User.cpp
index 16b3648..986380c 100644
--- a/src/User.cpp
+++ b/src/User.cpp
@@ -1,6 +1,4 @@
#include "../include/User.hpp"
-#include <odhtdb/User.hpp>
-#include <cassert>
namespace dchat
{
@@ -12,18 +10,41 @@ namespace dchat
}
- OnlineUser::OnlineUser(const odhtdb::User *_databaseUser) :
- User(Type::ONLINE),
- name("randomUser69"),
- databaseUser(_databaseUser)
+ OnlineUser::OnlineUser(const std::string &_name, Type type) :
+ User(type),
+ name(_name)
{
- assert(databaseUser);
+
}
const std::string& OnlineUser::getName() const
{
return name;
}
+
+ OnlineRemoteUser::OnlineRemoteUser(const std::string &name, const odhtdb::Signature::PublicKey &_publicKey) :
+ OnlineUser(name, Type::ONLINE_REMOTE_USER),
+ publicKey(_publicKey)
+ {
+
+ }
+
+ const odhtdb::Signature::PublicKey& OnlineRemoteUser::getPublicKey() const
+ {
+ return publicKey;
+ }
+
+ OnlineLocalUser::OnlineLocalUser(const std::string &name, const odhtdb::Signature::KeyPair &_keyPair) :
+ OnlineUser(name, Type::ONLINE_LOCAL_USER),
+ keyPair(_keyPair)
+ {
+
+ }
+
+ const odhtdb::Signature::PublicKey& OnlineLocalUser::getPublicKey() const
+ {
+ return keyPair.getPublicKey();
+ }
OfflineUser::OfflineUser(const std::string &_name) :
User(Type::OFFLINE),