summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/configreader.cpp31
-rw-r--r--src/socketengine.cpp21
2 files changed, 21 insertions, 31 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp
index 1e8e0a7e9..cce362ed2 100644
--- a/src/configreader.cpp
+++ b/src/configreader.cpp
@@ -65,37 +65,6 @@ void ServerConfig::ClearStack()
include_stack.clear();
}
-Module* ServerConfig::GetIOHook(BufferedSocket* is)
-{
- std::map<BufferedSocket*,Module*>::iterator x = SocketIOHookModule.find(is);
- return (x != SocketIOHookModule.end() ? x->second : NULL);
-}
-
-bool ServerConfig::AddIOHook(Module* iomod, BufferedSocket* is)
-{
- if (!GetIOHook(is))
- {
- SocketIOHookModule[is] = iomod;
- is->IsIOHooked = true;
- return true;
- }
- else
- {
- throw ModuleException("BufferedSocket derived class already hooked by another module");
- }
-}
-
-bool ServerConfig::DelIOHook(BufferedSocket* is)
-{
- std::map<BufferedSocket*,Module*>::iterator x = SocketIOHookModule.find(is);
- if (x != SocketIOHookModule.end())
- {
- SocketIOHookModule.erase(x);
- return true;
- }
- return false;
-}
-
void ServerConfig::Update005()
{
std::stringstream out(data005);
diff --git a/src/socketengine.cpp b/src/socketengine.cpp
index c7188b55a..74f8c1861 100644
--- a/src/socketengine.cpp
+++ b/src/socketengine.cpp
@@ -41,6 +41,27 @@
#include "inspircd.h"
#include "socketengine.h"
+bool EventHandler::AddIOHook(Module *IOHooker)
+{
+ if (this->IOHook)
+ return false;
+
+ this->IOHook = IOHooker;
+}
+
+bool EventHandler::DelIOHook()
+{
+ if (!this->IOHook)
+ return false
+
+ this->IOHook = false;
+}
+
+Module *EventHandler::GetIOHook()
+{
+ return this->IOHook;
+}
+
int EventHandler::GetFd()
{
return this->fd;