summaryrefslogtreecommitdiff
path: root/include/socket.h
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2016-08-08 15:10:43 +0200
committerAttila Molnar <attilamolnar@hush.com>2016-08-08 15:10:43 +0200
commit8dbd80610aee01b8064ca813e1dd7ca44ab3f7b6 (patch)
treee9b8c765a412d957680acabdec7f04ff01082930 /include/socket.h
parent4d3601938593685b3f45439227838f16ee773cdc (diff)
Keep multiple IOHookProvider references in class ListenSocket
This adds the <bind:hook> config option which works together with <bind:ssl>
Diffstat (limited to 'include/socket.h')
-rw-r--r--include/socket.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/socket.h b/include/socket.h
index 52294fe71..427ee9fe7 100644
--- a/include/socket.h
+++ b/include/socket.h
@@ -141,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
*/