summaryrefslogtreecommitdiff
path: root/TAO/tao/UIOP_Connector.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/UIOP_Connector.h')
-rw-r--r--TAO/tao/UIOP_Connector.h52
1 files changed, 30 insertions, 22 deletions
diff --git a/TAO/tao/UIOP_Connector.h b/TAO/tao/UIOP_Connector.h
index 57757ad5c15..528a9f4994e 100644
--- a/TAO/tao/UIOP_Connector.h
+++ b/TAO/tao/UIOP_Connector.h
@@ -29,28 +29,33 @@
#include "tao/Pluggable.h"
#include "tao/UIOP_Connect.h"
+typedef ACE_Strategy_Connector<TAO_UIOP_Client_Connection_Handler,
+ ACE_LSOCK_CONNECTOR> TAO_UIOP_BASE_CONNECTOR;
// ****************************************************************
-#include "tao/Resource_Factory.h" // @@ Needed for some temporary hacks
-
-typedef ACE_Cached_Connect_Strategy<TAO_UIOP_Client_Connection_Handler,
- ACE_LSOCK_CONNECTOR,
- TAO_Cached_Connector_Lock>
- TAO_UIOP_CACHED_CONNECT_STRATEGY;
-
-typedef ACE_NOOP_Creation_Strategy<TAO_UIOP_Client_Connection_Handler>
- TAO_UIOP_NULL_CREATION_STRATEGY;
+class TAO_Export TAO_UIOP_MT_Connect_Creation_Strategy : public ACE_Creation_Strategy<TAO_UIOP_Client_Connection_Handler>
+{
+ // = TITLE
+ // Helper creation strategy
+ //
+ // = DESCRIPTION
+ // Creates UIOP_MT_Client_Connection_Handler objects but satisfies
+ // the interface required by the
+ // ACE_Creation_Strategy<TAO_UIOP_Client_Connection_Handler>
+ //
+ // @@ This class should be removed once we intergrate the changes
+ // from the asynch. messaging branch.
+ //
+public:
+ TAO_UIOP_MT_Connect_Creation_Strategy (ACE_Thread_Manager * = 0);
-typedef ACE_NOOP_Concurrency_Strategy<TAO_UIOP_Client_Connection_Handler>
- TAO_UIOP_NULL_ACTIVATION_STRATEGY;
+ virtual int make_svc_handler (TAO_UIOP_Client_Connection_Handler *&sh);
+ // Makes TAO_UIOP_MT_Client_Connection_Handlers
+};
// ****************************************************************
-
-typedef ACE_Strategy_Connector<TAO_UIOP_Client_Connection_Handler,
- ACE_LSOCK_CONNECTOR> TAO_UIOP_BASE_CONNECTOR;
-
class TAO_Export TAO_UIOP_Connector : public TAO_Connector
{
// = TITLE
@@ -67,7 +72,7 @@ public:
// = The TAO_Connector methods, please check the documentation on
// Pluggable.h
- int open (TAO_Resource_Factory *trf, ACE_Reactor *reactor);
+ int open (TAO_ORB_Core *orb_core);
int close (void);
int connect (TAO_Profile *profile, TAO_Transport *&transport);
int preconnect (const char *preconnections);
@@ -81,15 +86,18 @@ protected:
CORBA::Environment &ACE_TRY_ENV);
virtual int check_prefix (const char *endpoint);
+ typedef ACE_NOOP_Creation_Strategy<TAO_UIOP_Client_Connection_Handler>
+ TAO_NULL_CREATION_STRATEGY;
+
+ typedef ACE_NOOP_Concurrency_Strategy<TAO_UIOP_Client_Connection_Handler>
+ TAO_NULL_ACTIVATION_STRATEGY;
+
private:
+ TAO_NULL_CREATION_STRATEGY null_creation_strategy_;
+ TAO_NULL_ACTIVATION_STRATEGY null_activation_strategy_;
+
TAO_UIOP_BASE_CONNECTOR base_connector_;
// The connector initiating connection requests for UIOP.
-
- static TAO_UIOP_CACHED_CONNECT_STRATEGY UIOP_Cached_Connect_Strategy_;
- static TAO_UIOP_NULL_CREATION_STRATEGY UIOP_Null_Creation_Strategy_;
- static TAO_UIOP_NULL_ACTIVATION_STRATEGY UIOP_Null_Activation_Strategy_;
- // @@ Need to provide our own strategies until the Resource_Factory is
- // updated for pluggable protocols.
};
# endif /* !ACE_LACKS_UNIX_DOMAIN_SOCKETS */