From 06f30543730c372226c398c11b3de0213d711d13 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 8 Aug 2018 23:17:10 +0200 Subject: Add support for discord --- src/User.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'src/User.cpp') diff --git a/src/User.cpp b/src/User.cpp index aabfd0b..510f884 100644 --- a/src/User.cpp +++ b/src/User.cpp @@ -1,8 +1,10 @@ #include "../include/User.hpp" +#include namespace dchat { const static std::string SYSTEM_USER_NAME = "System"; + const i64 USER_TIMEOUT_SEC = 25; User::User(Type _type) : type(_type) @@ -17,12 +19,18 @@ namespace dchat { } - + const std::string& OnlineUser::getName() const { return name; } + bool OnlineUser::isConnected(i64 timestampUtcSec) const + { + i64 pingTimeDiffSec = timestampUtcSec - (i64)pingTimestampSec; + return pingTimeDiffSec <= USER_TIMEOUT_SEC; + } + OnlineRemoteUser::OnlineRemoteUser(const std::string &name, const odhtdb::Signature::PublicKey &_publicKey) : OnlineUser(name, Type::ONLINE_REMOTE_USER), publicKey(_publicKey) @@ -41,11 +49,24 @@ namespace dchat { } - + const odhtdb::Signature::PublicKey& OnlineLocalUser::getPublicKey() const { return keyPair.getPublicKey(); } + + OnlineDiscordUser::OnlineDiscordUser(const std::string &discordUserName, u64 _discordUserId, User *_bridgeOwner) : + OnlineUser(discordUserName, Type::ONLINE_DISCORD_USER), + discordUserId(_discordUserId), + bridgeOwner(_bridgeOwner) + { + assert(bridgeOwner); + } + + const odhtdb::Signature::PublicKey& OnlineDiscordUser::getPublicKey() const + { + return odhtdb::Signature::PublicKey::ZERO; + } OfflineUser::OfflineUser(const std::string &_name) : User(Type::OFFLINE), -- cgit v1.2.3