summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/configreader.h24
-rw-r--r--include/socket.h2
-rw-r--r--include/socketengine.h20
3 files changed, 22 insertions, 24 deletions
diff --git a/include/configreader.h b/include/configreader.h
index 5e437d153..af9c33533 100644
--- a/include/configreader.h
+++ b/include/configreader.h
@@ -607,10 +607,6 @@ class CoreExport ServerConfig : public Extensible
*/
std::vector<ListenSocket*> ports;
- /** socket objects that are attached to by modules
- */
- std::map<BufferedSocket*, Module*> SocketIOHookModule;
-
/** The 005 tokens of this server (ISUPPORT)
* populated/repopulated upon loading or unloading
* modules.
@@ -823,26 +819,6 @@ class CoreExport ServerConfig : public Extensible
void ValidateNoSpaces(const char* p, const std::string &tag, const std::string &val);
- /** Get a pointer to the module which has hooked the given BufferedSocket class.
- * @parameter port Port number
- * @return Returns a pointer to the hooking module, or NULL
- */
- Module* GetIOHook(BufferedSocket* is);
-
- /** Hook a module to an BufferedSocket class, so that it can receive notifications
- * of low-level socket activity.
- * @param iomod The module to hook to the socket
- * @param is The BufferedSocket to attach to
- * @return True if the hook was successful.
- */
- bool AddIOHook(Module* iomod, BufferedSocket* is);
-
- /** Delete a module hook from an BufferedSocket.
- * @param is The BufferedSocket to detatch from.
- * @return True if the unhook was successful
- */
- bool DelIOHook(BufferedSocket* is);
-
/** Returns the fully qualified path to the inspircd directory
* @return The full program directory
*/
diff --git a/include/socket.h b/include/socket.h
index a26c1256d..105984f74 100644
--- a/include/socket.h
+++ b/include/socket.h
@@ -139,6 +139,8 @@ namespace irc
}
}
+
+
/** This class handles incoming connections on client ports.
* It will create a new User for every valid connection
* and assign it a file descriptor.
diff --git a/include/socketengine.h b/include/socketengine.h
index f16ec3fea..127a2fd90 100644
--- a/include/socketengine.h
+++ b/include/socketengine.h
@@ -68,8 +68,28 @@ class CoreExport EventHandler : public Extensible
* other forms of IPC.
*/
int fd;
+
+ /** Pointer to the module which has hooked the given EventHandler for IO events.
+ */
+ Module *IOHook;
public:
+ /** Return the current hooker of IO events for this socket, or NULL.
+ * @return Hooker module, if set, or NULL.
+ */
+ Module *GetIOHook();
+
+ /** Set a module as hooking IO events on this socket.
+ * @param IOHooker The module hooking IO
+ * @return True if the hook could be added, false otherwise.
+ */
+ bool AddIOHook(Module *IOHooker);
+
+ /** Remove IO hooking from a module
+ * @return True if hooking was successfully removed, false otherwise.
+ */
+ bool DelIOHook();
+
/** Get the current file descriptor
* @return The file descriptor of this handler
*/