From 0528e83604da80d87ae10f85841a5a9e33274f71 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Sat, 5 Dec 2015 15:04:00 +0100 Subject: Nuke m_cap --- include/modules/cap.h | 99 --------------------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 include/modules/cap.h (limited to 'include/modules') diff --git a/include/modules/cap.h b/include/modules/cap.h deleted file mode 100644 index b1bfbc3f9..000000000 --- a/include/modules/cap.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * InspIRCd -- Internet Relay Chat Daemon - * - * Copyright (C) 2009 Daniel De Graaf - * Copyright (C) 2008 Craig Edwards - * - * This file is part of InspIRCd. InspIRCd is free software: you can - * redistribute it and/or modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation, version 2. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#pragma once - -#include "event.h" - -class CapEvent -{ - public: - enum CapEventType - { - CAPEVENT_REQ, - CAPEVENT_LS, - CAPEVENT_LIST, - CAPEVENT_CLEAR - }; - - CapEventType type; - std::vector wanted; - std::vector ack; - User* user; - CapEvent(Module* sender, User* u, CapEventType capevtype) : type(capevtype), user(u) {} -}; - -class GenericCap : public Events::ModuleEventListener -{ - bool active; - - public: - LocalIntExt ext; - const std::string cap; - GenericCap(Module* parent, const std::string& Cap) - : Events::ModuleEventListener(parent, "event/cap") - , active(true) - , ext("cap_" + Cap, ExtensionItem::EXT_USER, parent) - , cap(Cap) - { - } - - void OnCapEvent(CapEvent& ev) - { - if (!active) - return; - - CapEvent *data = static_cast(&ev); - if (data->type == CapEvent::CAPEVENT_REQ) - { - for (std::vector::iterator it = data->wanted.begin(); it != data->wanted.end(); ++it) - { - if (it->empty()) - continue; - bool enablecap = ((*it)[0] != '-'); - if (((enablecap) && (*it == cap)) || (*it == "-" + cap)) - { - // we can handle this, so ACK it, and remove it from the wanted list - data->ack.push_back(*it); - data->wanted.erase(it); - ext.set(data->user, enablecap ? 1 : 0); - break; - } - } - } - else if (data->type == CapEvent::CAPEVENT_LS) - { - data->wanted.push_back(cap); - } - else if (data->type == CapEvent::CAPEVENT_LIST) - { - if (ext.get(data->user)) - data->wanted.push_back(cap); - } - else if (data->type == CapEvent::CAPEVENT_CLEAR) - { - data->ack.push_back("-" + cap); - ext.set(data->user, 0); - } - } - - void SetActive(bool newstate) { active = newstate; } - bool IsActive() const { return active; } -}; -- cgit v1.3.1-10-gc9f91