diff options
| author | 2005-12-18 20:48:54 +0000 | |
|---|---|---|
| committer | 2005-12-18 20:48:54 +0000 | |
| commit | ca0889d458ab768f32f399c0afe5f4e36dcd07d9 (patch) | |
| tree | ccb4caf7a361129a6dd5ecd19581f1bf108895f9 /src/inspircd_io.cpp | |
| parent | Fixed spanningtree to not allow malformed conf tags (missing/empty values) (diff) | |
| download | inspircd++-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.cpp | 26 |
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) { |
