TAO_SSLIOP_Profile Class Reference

#include <SSLIOP_Profile.h>

Inheritance diagram for TAO_SSLIOP_Profile:

Inheritance graph
Collaboration diagram for TAO_SSLIOP_Profile:

Collaboration graph
List of all members.

Public Member Functions

 TAO_SSLIOP_Profile (const ACE_INET_Addr &addr, const TAO::ObjectKey &object_key, const TAO_GIOP_Message_Version &version, TAO_ORB_Core *orb_core, const ::SSLIOP::SSL *ssl_component)
 TAO_SSLIOP_Profile (const char *host, CORBA::UShort port, const TAO::ObjectKey &object_key, const ACE_INET_Addr &addr, const TAO_GIOP_Message_Version &version, TAO_ORB_Core *orb_core, const ::SSLIOP::SSL *ssl_component)
 TAO_SSLIOP_Profile (TAO_ORB_Core *orb_core, const ::SSLIOP::SSL *ssl_component)
 Create profile with the given SSLIOP tagged component.
 TAO_SSLIOP_Profile (TAO_ORB_Core *orb_core, int ssl_only=0)
virtual int decode (TAO_InputCDR &cdr)
virtual int encode_endpoints (void)
virtual TAO_Endpointendpoint (void)
virtual void parse_string (const char *string ACE_ENV_ARG_DECL)
void add_endpoint (TAO_SSLIOP_Endpoint *endp)
virtual char * to_string (ACE_ENV_SINGLE_ARG_DECL)
int add_tagged_component (const TAO_SSLIOP_Endpoint &endp)

Protected Member Functions

 ~TAO_SSLIOP_Profile (void)
virtual CORBA::Boolean do_is_equivalent (const TAO_Profile *other_profile)
 Profile equivalence template method.

Private Member Functions

int decode_tagged_endpoints (void)

Private Attributes

TAO_SSLIOP_Endpoint ssl_endpoint_
int ssl_only_

Constructor & Destructor Documentation

TAO_SSLIOP_Profile::TAO_SSLIOP_Profile const ACE_INET_Addr addr,
const TAO::ObjectKey object_key,
const TAO_GIOP_Message_Version version,
TAO_ORB_Core orb_core,
const ::SSLIOP::SSL ssl_component

Profile constructor, same as above except the object_key has already been marshaled.

TAO_SSLIOP_Profile::TAO_SSLIOP_Profile const char *  host,
CORBA::UShort  port,
const TAO::ObjectKey object_key,
const ACE_INET_Addr addr,
const TAO_GIOP_Message_Version version,
TAO_ORB_Core orb_core,
const ::SSLIOP::SSL ssl_component

Profile constructor, this is the most efficient since it doesn't require any address resolution processing.

TAO_SSLIOP_Profile::TAO_SSLIOP_Profile TAO_ORB_Core orb_core,
const ::SSLIOP::SSL ssl_component

Create profile with the given SSLIOP tagged component.

TAO_SSLIOP_Profile::TAO_SSLIOP_Profile TAO_ORB_Core orb_core,
int  ssl_only = 0

Profile constructor. ssl_only != 0 will force secure connections, pnly.

TAO_SSLIOP_Profile::~TAO_SSLIOP_Profile void   )  [protected]


Protected destructor to enforce proper memory management through the reference counting mechanism.

Member Function Documentation

void TAO_SSLIOP_Profile::add_endpoint TAO_SSLIOP_Endpoint endp  ) 

Add endp to this profile's list of endpoints (it is inserted next to the head of the list). This profiles takes ownership of endp. If endp's iiop_endpoint_ member is not 0, it is added to our parent's class endpoint list.

int TAO_SSLIOP_Profile::add_tagged_component const TAO_SSLIOP_Endpoint endp  ) 

Adds a newly constructed TAO_TAG_SSL_ENDPOINTS tagged component for the endpoint to the profile's list of tagged components. Returns -1 to indicate failure to encode the component. O means "okay".

int TAO_SSLIOP_Profile::decode TAO_InputCDR cdr  )  [virtual]

Reimplemented from TAO_Profile.

int TAO_SSLIOP_Profile::decode_tagged_endpoints void   )  [private]

Helper for decode. Decodes TAO_TAG_SSL_ENDPOINTS from a tagged component. Decode only if RTCORBA is enabled.

0 on success and -1 on failure.
This should be enabled only when RTCORBA is enabled, but sadly others pay the price (of footprint) under normal operations.

CORBA::Boolean TAO_SSLIOP_Profile::do_is_equivalent const TAO_Profile other_profile  )  [protected, virtual]

Profile equivalence template method.

See also:

Reimplemented from TAO_IIOP_Profile.

int TAO_SSLIOP_Profile::encode_endpoints void   )  [virtual]

Reimplemented from TAO_IIOP_Profile.

TAO_Endpoint * TAO_SSLIOP_Profile::endpoint void   )  [virtual]

Reimplemented from TAO_IIOP_Profile.

virtual void TAO_SSLIOP_Profile::parse_string const char *string  ACE_ENV_ARG_DECL  )  [virtual]

Override parse_string() from the base class to update the SSL endpoint's iiop endpoint once the base class has completed parsing the string.

Initialize this object using the given input string. URL-style string contain only one endpoint.

Reimplemented from TAO_Profile.

virtual char* TAO_SSLIOP_Profile::to_string ACE_ENV_SINGLE_ARG_DECL   )  [virtual]

Return a string representation for this profile. client must deallocate memory. This is used to create url-style reference. Only one endpoint is included into the string.

Reimplemented from TAO_IIOP_Profile.

Member Data Documentation

TAO_SSLIOP_Endpoint TAO_SSLIOP_Profile::ssl_endpoint_ [private]

Head of this profile's list of endpoints. This endpoint is not dynamically allocated because a profile always contains at least one endpoint.

Currently, a profile contains more than one endpoint, i.e., list contains more than just the head, only when RTCORBA is enabled. However, in the near future, this will be used in non-RT mode as well, e.g., to support TAG_ALTERNATE_IIOP_ADDRESS feature.
Since SSLIOP profile is an extension of IIOP profile, its addressing info is contained in two places: IIOP parent class contains all iiop addressing while this class contains SSL-specific addressing additions to iiop. This means that there are two lists of endpoints: one maintained in the parent class and one maintained here. Each ssl endpoint maintains a pointer to its counterpart in the parent class endpoint list.
For transmission of IIOP addressing information, see TAO_IIOP_Profile. Addressing info of the default SSL endpoint, i.e., head of the list, is transmitted using standard SSLIOP::TAG_SSL_SEC_TRANS tagged component. See encode_endpoints method documentation above for how the rest of the SSL endpoint list is transmitted.

int TAO_SSLIOP_Profile::ssl_only_ [private]

Allways treat this endpoint as secure, even if the constructor did not explicitely specify a tagged component for SSL.

Most likely the parse_string() will supply a subset of the attributes - port number, for instance.

The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:31:05 2005 for TAO_SSLIOP by  doxygen 1.4.5