]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd_io.cpp
Added IOHookModule stuff to allow for different modules to hook different ports
[user/henk/code/inspircd.git] / src / inspircd_io.cpp
index b1e90bfd0b7c0eb296bd5d72271bef9cb1d5d3b6..aa6c8e33a3203512dccd03bf978427a41ba536cc 100644 (file)
@@ -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)
 {