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 /include/User.hpp | |
parent | 26edc563cb0ba1a9fb35507e7f32d2d43a845e68 (diff) |
Add support for discord
Diffstat (limited to 'include/User.hpp')
-rw-r--r-- | include/User.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/User.hpp b/include/User.hpp index c2874c2..7e99c60 100644 --- a/include/User.hpp +++ b/include/User.hpp @@ -11,8 +11,10 @@ namespace dchat public: enum class Type { + OTHER, ONLINE_REMOTE_USER, ONLINE_LOCAL_USER, + ONLINE_DISCORD_USER, OFFLINE, SYSTEM }; @@ -21,6 +23,8 @@ namespace dchat virtual ~User(){} virtual const std::string& getName() const = 0; virtual bool isOnlineUser() const { return false; } + + virtual bool isConnected(i64 timestampUtcSec) const { return true; } const Type type; std::string avatarUrl; @@ -35,6 +39,7 @@ namespace dchat virtual const std::string& getName() const override; virtual const odhtdb::Signature::PublicKey& getPublicKey() const = 0; + bool isConnected(i64 timestampUtcSec) const override; bool isOnlineUser() const override { return true; } std::string name; @@ -58,6 +63,16 @@ namespace dchat const odhtdb::Signature::KeyPair keyPair; }; + + class OnlineDiscordUser : public OnlineUser + { + public: + OnlineDiscordUser(const std::string &discordUserName, u64 discordUserId, User *bridgeOwner); + virtual const odhtdb::Signature::PublicKey& getPublicKey() const override; + + u64 discordUserId; + User *bridgeOwner; + }; class OfflineUser : public User { |