aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspircd_io.cpp
diff options
context:
space:
mode:
authorGravatar brain2005-12-18 20:48:54 +0000
committerGravatar brain2005-12-18 20:48:54 +0000
commitca0889d458ab768f32f399c0afe5f4e36dcd07d9 (patch)
treeccb4caf7a361129a6dd5ecd19581f1bf108895f9 /src/inspircd_io.cpp
parentFixed spanningtree to not allow malformed conf tags (missing/empty values) (diff)
downloadinspircd++-ca0889d458ab768f32f399c0afe5f4e36dcd07d9.tar.gz
inspircd++-ca0889d458ab768f32f399c0afe5f4e36dcd07d9.tar.bz2
inspircd++-ca0889d458ab768f32f399c0afe5f4e36dcd07d9.zip
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
Diffstat (limited to 'src/inspircd_io.cpp')
-rw-r--r--src/inspircd_io.cpp26
1 files changed, 26 insertions, 0 deletions
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<int,Module*>::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<int,Module*>::iterator x = IOHookModule.find(port);
+ if (x != IOHookModule.end())
+ {
+ IOHookModule.erase(x);
+ return true;
+ }
+ return false;
+}
void ServerConfig::Read(bool bail, userrec* user)
{