#pragma once #include #include #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& getUsers() const; protected: std::vector users; }; }