From ca0889d458ab768f32f399c0afe5f4e36dcd07d9 Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 18 Dec 2005 20:48:54 +0000 Subject: Added IOHookModule stuff to allow for different modules to hook different ports git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2564 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/inspircd_io.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/inspircd_io.cpp') diff --git a/src/inspircd_io.cpp b/src/inspircd_io.cpp index b1e90bfd0..aa6c8e33a 100644 --- a/src/inspircd_io.cpp +++ b/src/inspircd_io.cpp @@ -63,6 +63,32 @@ void ServerConfig::ClearStack() include_stack.clear(); } +Module* ServerConfig::GetIOHook(int port) +{ + std::map::iterator x = IOHookModule.find(port); + return (x != IOHookModule.end() ? x->second : NULL); +} + +bool ServerConfig::AddIOHook(int port, Module* iomod) +{ + if (!GetIOHook(port)) + { + IOHookModule[port] = iomod; + return true; + } + return false; +} + +bool ServerConfig::DelIOHook(int port) +{ + std::map::iterator x = IOHookModule.find(port); + if (x != IOHookModule.end()) + { + IOHookModule.erase(x); + return true; + } + return false; +} void ServerConfig::Read(bool bail, userrec* user) { -- cgit v1.3.1-10-gc9f91