summaryrefslogtreecommitdiff
path: root/include/socket.h
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2016-08-10 15:57:04 +0200
committerAttila Molnar <attilamolnar@hush.com>2016-08-10 15:57:04 +0200
commit7770cd985405c7630e9149fc08c314ec824a9c75 (patch)
tree717c8ed61ec462196d206471899fc47e25c05c59 /include/socket.h
parent4a12fc9d4bfb77fc2fc05c1052c66294e3774649 (diff)
parenta86e320ac19fbbd6034d0447f048beb8b4a0ad1d (diff)
Merge branch 'master+websocket'
Diffstat (limited to 'include/socket.h')
-rw-r--r--include/socket.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/include/socket.h b/include/socket.h
index 9d69b5d22..427ee9fe7 100644
--- a/include/socket.h
+++ b/include/socket.h
@@ -127,7 +127,6 @@ namespace irc
}
}
-#include "iohook.h"
#include "socketengine.h"
/** This class handles incoming connections on client ports.
* It will create a new User for every valid connection
@@ -142,10 +141,21 @@ class CoreExport ListenSocket : public EventHandler
/** Human-readable bind description */
std::string bind_desc;
- /** The IOHook provider which handles connections on this socket,
- * NULL if there is none.
+ class IOHookProvRef : public dynamic_reference_nocheck<IOHookProvider>
+ {
+ public:
+ IOHookProvRef()
+ : dynamic_reference_nocheck<IOHookProvider>(NULL, std::string())
+ {
+ }
+ };
+
+ typedef TR1NS::array<IOHookProvRef, 2> IOHookProvList;
+
+ /** IOHook providers for handling connections on this socket,
+ * may be empty.
*/
- dynamic_reference_nocheck<IOHookProvider> iohookprov;
+ IOHookProvList iohookprovs;
/** Create a new listening socket
*/
@@ -160,7 +170,6 @@ class CoreExport ListenSocket : public EventHandler
/** Inspects the bind block belonging to this socket to set the name of the IO hook
* provider which this socket will use for incoming connections.
- * @return True if the IO hook provider was found or none was given, false otherwise.
*/
- bool ResetIOHookProvider();
+ void ResetIOHookProvider();
};