summaryrefslogtreecommitdiff
path: root/ace/Connector.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Connector.h')
-rw-r--r--ace/Connector.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/ace/Connector.h b/ace/Connector.h
index 9961cef2d93..42f6204b118 100644
--- a/ace/Connector.h
+++ b/ace/Connector.h
@@ -15,7 +15,7 @@
#include "ace/pre.h"
-#include "ace/Event_Handler.h"
+#include "ace/Service_Object.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -135,7 +135,7 @@ private:
* Further, non-blocking connects support timeouts.
*/
template <class SVC_HANDLER, ACE_PEER_CONNECTOR_1>
-class ACE_Connector : public ACE_Connector_Base<SVC_HANDLER>
+class ACE_Connector : public ACE_Connector_Base<SVC_HANDLER>, public ACE_Service_Object
{
public:
@@ -264,7 +264,6 @@ public:
protected:
// = Helpful typedefs.
-
typedef ACE_NonBlocking_Connect_Handler<SVC_HANDLER> NBCH;
// = The following two methods define the Connector's strategies for
@@ -332,6 +331,26 @@ protected:
/// progress.
ACE_Handle_Set &non_blocking_handles (void);
+ // = Dynamic linking hooks.
+ /// Default version does no work and returns -1. Must be overloaded
+ /// by application developer to do anything meaningful.
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+
+ /// Calls <handle_close> to shutdown the Connector gracefully.
+ virtual int fini (void);
+
+ /// Default version returns address info in <buf>.
+ virtual int info (ACE_TCHAR **, size_t) const;
+
+ // = Service management hooks.
+ /// Default version does no work and returns -1. Must be overloaded
+ /// by application developer to do anything meaningful.
+ virtual int suspend (void);
+
+ /// Default version does no work and returns -1. Must be overloaded
+ /// by application developer to do anything meaningful.
+ virtual int resume (void);
+
private:
/// This is the peer connector factory.
ACE_PEER_CONNECTOR connector_;