aboutsummaryrefslogtreecommitdiff
path: root/include/User.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-08-08 23:17:10 +0200
committerdec05eba <dec05eba@protonmail.com>2018-08-08 23:17:14 +0200
commit06f30543730c372226c398c11b3de0213d711d13 (patch)
treed6229ff224a9e7e5457c856747c2f8726e7a3868 /include/User.hpp
parent26edc563cb0ba1a9fb35507e7f32d2d43a845e68 (diff)
Add support for discord
Diffstat (limited to 'include/User.hpp')
-rw-r--r--include/User.hpp15
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
{