Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TAO_SSLIOP_Profile Class Reference

#include <SSLIOP_Profile.h>

Inheritance diagram for TAO_SSLIOP_Profile:

Inheritance graph
[legend]
Collaboration diagram for TAO_SSLIOP_Profile:

Collaboration graph
[legend]
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)

Protected Member Functions

 ~TAO_SSLIOP_Profile (void)
 Destructor.
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]
 

Destructor.

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::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.

Returns:
0 on success and -1 on failure.
Note:
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:
TAO_Profile::do_is_equivalent()

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.


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 Fri Dec 31 16:26:26 2004 for TAO_SSLIOP by  doxygen 1.3.9.1