diff options
Diffstat (limited to 'TAO/tao/UIOP_Connector.h')
-rw-r--r-- | TAO/tao/UIOP_Connector.h | 52 |
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 */ |