diff options
Diffstat (limited to 'TAO/tao/UIOP_Connector.h')
-rw-r--r-- | TAO/tao/UIOP_Connector.h | 73 |
1 files changed, 21 insertions, 52 deletions
diff --git a/TAO/tao/UIOP_Connector.h b/TAO/tao/UIOP_Connector.h index 0d7014b0a35..7b1a0db164d 100644 --- a/TAO/tao/UIOP_Connector.h +++ b/TAO/tao/UIOP_Connector.h @@ -25,44 +25,19 @@ #include "ace/Connector.h" #include "ace/LSOCK_Connector.h" - #include "tao/Pluggable.h" -#include "tao/UIOP_Connect.h" +#include "tao/Connect.h" -typedef ACE_Strategy_Connector<TAO_UIOP_Client_Connection_Handler, +typedef ACE_Strategy_Connector<TAO_Client_Connection_Handler, ACE_LSOCK_CONNECTOR> TAO_UIOP_BASE_CONNECTOR; -// **************************************************************** - -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); - - virtual int make_svc_handler (TAO_UIOP_Client_Connection_Handler *&sh); - // Makes TAO_UIOP_MT_Client_Connection_Handlers -}; - -// **************************************************************** - class TAO_Export TAO_UIOP_Connector : public TAO_Connector { // = TITLE // UIOP-specific Connector bridge for pluggable protocols. // // = DESCRIPTION - // + // public: // = Initialization and termination methods. TAO_UIOP_Connector (void); @@ -70,37 +45,31 @@ public: // @@ Do we want to pass in the tag here or should it be statically // defined? - // = The TAO_Connector methods, please check the documentation on - // Pluggable.h - int open (TAO_ORB_Core *orb_core); - int close (void); - int connect (TAO_Profile *profile, TAO_Transport *&transport); - int preconnect (const char *preconnections); - TAO_Profile *create_profile (TAO_InputCDR& cdr); - -protected: - // = More TAO_Connector methods, please check the documentation on - // Pluggable.h - virtual int make_profile (const char *endpoint, - TAO_Profile *&, - CORBA::Environment &ACE_TRY_ENV); + int open (TAO_Resource_Factory *trf, ACE_Reactor *reactor); + // Initialize object and register with reactor. - virtual int check_prefix (const char *endpoint); + int close (void); + // Shutdown Connector bridge and concreate Connector. - virtual char object_key_delimiter (void) const; + int preconnect (char *preconnections); + // Initial set of connections to be established. -protected: - typedef ACE_NOOP_Creation_Strategy<TAO_UIOP_Client_Connection_Handler> - TAO_NULL_CREATION_STRATEGY; + CORBA::ULong tag (void); + // The tag identifying the specific ORB transport layer protocol. + // For example TAO_IOP_TAG_INTERNET_IOP = 0. The tag is used in the + // IOR to identify the type of profile included. IOR -> {{tag0, + // profile0} {tag1, profile1} ...} GIOP.h defines typedef + // CORBA::ULong TAO_IOP_Profile_ID; - typedef ACE_NOOP_Concurrency_Strategy<TAO_UIOP_Client_Connection_Handler> - TAO_NULL_ACTIVATION_STRATEGY; + int connect (TAO_Profile *profile, + TAO_Transport *&transport); + // Connect will be called from TAO_GIOP_Invocation::start private: - TAO_NULL_CREATION_STRATEGY null_creation_strategy_; - TAO_NULL_ACTIVATION_STRATEGY null_activation_strategy_; + CORBA::ULong tag_; + // UIOP tag. - TAO_UIOP_BASE_CONNECTOR base_connector_; + TAO_UIOP_BASE_CONNECTOR base_connector_; // The connector initiating connection requests for UIOP. }; |