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:

[legend]
Collaboration diagram for TAO_Connector:

[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
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)
virtual int | connect (TAO_GIOP_Invocation *invocation, TAO_Transport_Descriptor_Interface *desc, ACE_Time_Value *timeout ACE_ENV_ARG_DECL)
virtual TAO_Profile * | create_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_Profile * | make_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, ACE_Time_Value *timeout)=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_Core * | orb_core (void)
| Return the TAO_ORB_Core pointer. More...
## Protected Attributes
TAO_Connect_Strategy * | active_connect_strategy_
| The (a)synch connect strategy. More...
## Private Attributes
CORBA::ULong | tag_
| IOP protocol tag. More...
TAO_ORB_Core * | orb_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_Time_Value *timeout | ACE_ENV_ARG_DECL_NOT_USED
| ) | `[virtual]`

| Call is very similar to the previous one but with a timeout.

int TAO_Connector::connect | ( | TAO_GIOP_Invocation * | invocation,
|  | TAO_Transport_Descriptor_Interface *desc | ACE_ENV_ARG_DECL
| ) | `[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,
|  | ACE_Time_Value * | max_wait_time
| ) | `[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:

- Transport_Connector.h
- Transport_Connector.cpp
- Transport_Connector.inl