diff options
Diffstat (limited to 'bridge/BridgeService.hpp')
-rw-r--r-- | bridge/BridgeService.hpp | 41 |
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 |