]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/usermanager.cpp
Split IOHook into IOHook and IOHookProvider
[user/henk/code/inspircd.git] / src / usermanager.cpp
index 745934fd4467efc78db9c0b325d068aa7f98cc83..29d1f737003c88bf1c8576015a90ae69ae4e3eda 100644 (file)
@@ -62,20 +62,9 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
        }
        UserIOHandler* eh = &New->eh;
 
-       /* Give each of the modules an attempt to hook the user for I/O */
-       FOREACH_MOD(OnHookIO, (eh, via));
-
-       if (eh->GetIOHook())
-       {
-               try
-               {
-                       eh->GetIOHook()->OnStreamSocketAccept(eh, client, server);
-               }
-               catch (CoreException& modexcept)
-               {
-                       ServerInstance->Logs->Log("SOCKET", LOG_DEBUG, "%s threw an exception: %s", modexcept.GetSource().c_str(), modexcept.GetReason().c_str());
-               }
-       }
+       // If this listener has an IO hook provider set then tell it about the connection
+       if (via->iohookprov)
+               via->iohookprov->OnAccept(eh, client, server);
 
        ServerInstance->Logs->Log("USERS", LOG_DEBUG, "New user fd: %d", socket);