diff options
Diffstat (limited to 'src/User.cpp')
-rw-r--r-- | src/User.cpp | 35 |
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), |