aboutsummaryrefslogtreecommitdiff
path: root/bridge/BridgeService.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 /bridge/BridgeService.hpp
parent26edc563cb0ba1a9fb35507e7f32d2d43a845e68 (diff)
Add support for discord
Diffstat (limited to 'bridge/BridgeService.hpp')
-rw-r--r--bridge/BridgeService.hpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/bridge/BridgeService.hpp b/bridge/BridgeService.hpp
new file mode 100644
index 0000000..e536c81
--- /dev/null
+++ b/bridge/BridgeService.hpp
@@ -0,0 +1,41 @@
+#pragma once
+
+#include <vector>
+#include <string>
+#include "../include/User.hpp"
+
+namespace dchat
+{
+ class BridgeServiceUser : public User
+ {
+ public:
+ enum class Type
+ {
+ DISCORD
+ };
+
+ BridgeServiceUser(Type type, const std::string &name);
+ virtual ~BridgeServiceUser(){}
+
+ virtual const std::string& getName() const override { return name; }
+ virtual bool isConnected(i64 timestampUtcSec) const override { return true; }
+
+ virtual bool equals(BridgeServiceUser *other) const = 0;
+
+ const Type type;
+ private:
+ std::string name;
+ };
+
+ class BridgeService
+ {
+ public:
+ BridgeService();
+ virtual ~BridgeService();
+
+ bool addUser(BridgeServiceUser *user);
+ const std::vector<User*>& getUsers() const;
+ protected:
+ std::vector<User*> users;
+ };
+} \ No newline at end of file