aboutsummaryrefslogtreecommitdiff
path: root/include/User.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/User.hpp')
-rw-r--r--include/User.hpp92
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;
- };
-}