diff options
Diffstat (limited to 'include/User.hpp')
-rw-r--r-- | include/User.hpp | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/include/User.hpp b/include/User.hpp deleted file mode 100644 index 7e99c60..0000000 --- a/include/User.hpp +++ /dev/null @@ -1,92 +0,0 @@ -#pragma once - -#include "types.hpp" -#include <string> -#include <odhtdb/Signature.hpp> - -namespace dchat -{ - class User - { - public: - enum class Type - { - OTHER, - ONLINE_REMOTE_USER, - ONLINE_LOCAL_USER, - ONLINE_DISCORD_USER, - OFFLINE, - SYSTEM - }; - - User(Type type); - 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; - }; - - class OnlineUser : public User - { - public: - OnlineUser(const std::string &name, Type type); - virtual ~OnlineUser(){} - - 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; - u32 pingTimestampSec; - }; - - class OnlineRemoteUser : public OnlineUser - { - public: - OnlineRemoteUser(const std::string &name, const odhtdb::Signature::PublicKey &publicKey); - virtual const odhtdb::Signature::PublicKey& getPublicKey() const override; - - const odhtdb::Signature::PublicKey publicKey; - }; - - class OnlineLocalUser : public OnlineUser - { - public: - OnlineLocalUser(const std::string &name, const odhtdb::Signature::KeyPair &keyPair); - virtual const odhtdb::Signature::PublicKey& getPublicKey() const override; - - 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 - { - public: - OfflineUser(const std::string &name); - virtual const std::string& getName() const override; - - const std::string name; - }; - - class SystemUser : public User - { - public: - SystemUser(); - virtual const std::string& getName() const override; - }; -} |