#include "../include/User.hpp" namespace dchat { const static std::string SYSTEM_USER_NAME = "System"; User::User(Type _type) : type(_type) { } OnlineUser::OnlineUser(const std::string &_name, Type type) : User(type), name(_name), pingCounter(0), pingTimestamp(0) { } 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), name(_name) { } const std::string& OfflineUser::getName() const { return name; } SystemUser::SystemUser() : User(Type::SYSTEM) { } const std::string& SystemUser::getName() const { return SYSTEM_USER_NAME; } }