diff options
author | dec05eba <dec05eba@protonmail.com> | 2018-08-08 23:17:10 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2018-08-08 23:17:14 +0200 |
commit | 06f30543730c372226c398c11b3de0213d711d13 (patch) | |
tree | d6229ff224a9e7e5457c856747c2f8726e7a3868 /src/User.cpp | |
parent | 26edc563cb0ba1a9fb35507e7f32d2d43a845e68 (diff) |
Add support for discord
Diffstat (limited to 'src/User.cpp')
-rw-r--r-- | src/User.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
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 <cassert> 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), |