#include "DiscordService.hpp" namespace dchat { DiscordServiceUser::DiscordServiceUser(const std::string &name, const u64 _id, bool _connected) : BridgeServiceUser(Type::DISCORD, name), id(_id), connected(_connected) { } bool DiscordServiceUser::equals(BridgeServiceUser *other) const { return other && type == other->type && id == static_cast(other)->id; } bool DiscordService::removeUser(u64 discordUserId) { for(auto it = users.begin(), end = users.end(); it != end; ++it) { BridgeServiceUser *serviceUser = static_cast(*it); if(serviceUser->type == BridgeServiceUser::Type::DISCORD && static_cast(serviceUser)->id == discordUserId) { delete serviceUser; users.erase(it); return true; } } return false; } DiscordServiceUser* DiscordService::getUserById(u64 discordUserId) { for(User *user : users) { BridgeServiceUser *serviceUser = static_cast(user); if(serviceUser->type == BridgeServiceUser::Type::DISCORD && static_cast(serviceUser)->id == discordUserId) return static_cast(serviceUser); } return nullptr; } }