Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Connector Class Reference

Generic Connector interface definitions. More...

#include <Transport_Connector.h>

Inheritance diagram for TAO_Connector:

Inheritance graph
[legend]
Collaboration diagram for TAO_Connector:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Connector (CORBA::ULong tag)
 default constructor. More...

virtual ~TAO_Connector (void)
 the destructor. More...

CORBA::ULong tag (void) const
 The tag identifying the specific ORB transport layer protocol. More...

int make_mprofile (const char *ior, TAO_MProfile &mprofile ACE_ENV_ARG_DECL)
 Parse a string containing a URL style IOR and return an MProfile. More...

virtual int open (TAO_ORB_Core *orb_core)=0
 Initialize object and register with reactor. More...

virtual int close (void)=0
 Shutdown Connector bridge and concrete Connector. More...

virtual int connect (TAO_GIOP_Invocation *invocation, TAO_Transport_Descriptor_Interface *desc ACE_ENV_ARG_DECL)
 To support pluggable we need to abstract away the details of the connect () method so it can be called from the invocation code independent of the actual transport protocol in use. More...

virtual TAO_Profilecreate_profile (TAO_InputCDR &cdr)=0
 Create a profile for this protocol and initialize it based on the encapsulation in <cdr>. More...

virtual int check_prefix (const char *endpoint)=0
 Check that the prefix of the provided endpoint is valid for use with a given pluggable protocol. More...

virtual char object_key_delimiter (void) const=0
 Return the object key delimiter to use or expect. More...


Protected Methods

virtual TAO_Profilemake_profile (ACE_ENV_SINGLE_ARG_DECL)=0
 Create a profile with a given endpoint. More...

virtual int set_validate_endpoint (TAO_Endpoint *endpoint)=0
 Set and validate endpoint. We need to do this to initialize our remote *_Addr's which have not been done during IOR decode. More...

virtual int make_connection (TAO_GIOP_Invocation *invocation, TAO_Transport_Descriptor_Interface *desc)=0
 Do an actual connect using the underlying transport to make a connection. More...

void orb_core (TAO_ORB_Core *orb_core)
 Set the ORB Core pointer. More...

int create_connect_strategy (void)
 Create a connect strategy. More...

TAO_ORB_Coreorb_core (void)
 Return the TAO_ORB_Core pointer. More...


Protected Attributes

TAO_Connect_Strategyactive_connect_strategy_
 The (a)synch connect strategy. More...


Private Attributes

CORBA::ULong tag_
 IOP protocol tag. More...

TAO_ORB_Coreorb_core_
 Pointer to our ORB core. More...


Detailed Description

Generic Connector interface definitions.

Base class for connector bridge object.

@TODO: Need to rename the class as TAO_Transport_Connector.


Constructor & Destructor Documentation

TAO_Connector::TAO_Connector CORBA::ULong    tag
 

default constructor.

TAO_Connector::~TAO_Connector void    [virtual]
 

the destructor.


Member Function Documentation

virtual int TAO_Connector::check_prefix const char *    endpoint [pure virtual]
 

Check that the prefix of the provided endpoint is valid for use with a given pluggable protocol.

Reimplemented in TAO_IIOP_Connector.

virtual int TAO_Connector::close void    [pure virtual]
 

Shutdown Connector bridge and concrete Connector.

Reimplemented in TAO_IIOP_Connector.

int TAO_Connector::connect TAO_GIOP_Invocation   invocation,
TAO_Transport_Descriptor_Interface *desc    ACE_ENV_ARG_DECL_NOT_USED
[virtual]
 

To support pluggable we need to abstract away the details of the connect () method so it can be called from the invocation code independent of the actual transport protocol in use.

int TAO_Connector::create_connect_strategy void    [protected]
 

Create a connect strategy.

virtual TAO_Profile* TAO_Connector::create_profile TAO_InputCDR   cdr [pure virtual]
 

Create a profile for this protocol and initialize it based on the encapsulation in <cdr>.

Reimplemented in TAO_IIOP_Connector.

virtual int TAO_Connector::make_connection TAO_GIOP_Invocation   invocation,
TAO_Transport_Descriptor_Interface   desc
[protected, pure virtual]
 

Do an actual connect using the underlying transport to make a connection.

Reimplemented in TAO_IIOP_Connector.

int TAO_Connector::make_mprofile const char *    string,
TAO_MProfile &mprofile    ACE_ENV_ARG_DECL
 

Parse a string containing a URL style IOR and return an MProfile.

virtual TAO_Profile* TAO_Connector::make_profile ACE_ENV_SINGLE_ARG_DECL    [protected, pure virtual]
 

Create a profile with a given endpoint.

Reimplemented in TAO_IIOP_Connector.

virtual char TAO_Connector::object_key_delimiter void    const [pure virtual]
 

Return the object key delimiter to use or expect.

Reimplemented in TAO_IIOP_Connector.

virtual int TAO_Connector::open TAO_ORB_Core   orb_core [pure virtual]
 

Initialize object and register with reactor.

Reimplemented in TAO_IIOP_Connector.

ACE_INLINE TAO_ORB_Core * TAO_Connector::orb_core void    [protected]
 

Return the TAO_ORB_Core pointer.

ACE_INLINE void TAO_Connector::orb_core TAO_ORB_Core   orb_core [protected]
 

Set the ORB Core pointer.

virtual int TAO_Connector::set_validate_endpoint TAO_Endpoint   endpoint [protected, pure virtual]
 

Set and validate endpoint. We need to do this to initialize our remote *_Addr's which have not been done during IOR decode.

Reimplemented in TAO_IIOP_Connector.

ACE_INLINE CORBA::ULong TAO_Connector::tag void    const
 

The tag identifying the specific ORB transport layer protocol.

For example IOP::TAG_INTERNET_IOP == 0. The tag is used in the IOR to identify the type of profile included. IOR -> {{tag0, profile0} {tag1, profile1} ...}. The IOP module defines the ProfileId typedef to be a CORBA::ULong.


Member Data Documentation

TAO_Connect_Strategy* TAO_Connector::active_connect_strategy_ [protected]
 

The (a)synch connect strategy.

TAO_ORB_Core* TAO_Connector::orb_core_ [private]
 

Pointer to our ORB core.

CORBA::ULong TAO_Connector::tag_ [private]
 

IOP protocol tag.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 18:30:13 2002 for TAO by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001