TAO_SSLIOP_Endpoint Class Reference

#include <SSLIOP_Endpoint.h>

Inheritance diagram for TAO_SSLIOP_Endpoint:

Inheritance graph
[legend]
Collaboration diagram for TAO_SSLIOP_Endpoint:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_SSLIOP_Endpoint (const::SSLIOP::SSL *ssl_component, TAO_IIOP_Endpoint *iiop_endp)
 Constructor.
virtual ~TAO_SSLIOP_Endpoint (void)
 Destructor.
TAO_SSLIOP_Endpointoperator= (const TAO_SSLIOP_Endpoint &other)
int credentials_set (void) const
TAO_Endpoint Methods
See Endpoint.h for their documentation.

virtual TAO_Endpointnext (void)
virtual int addr_to_string (char *buffer, size_t length)
CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint)
virtual TAO_Endpointduplicate (void)
virtual CORBA::ULong hash (void)
SSLIOP_Endpoint-specific Methods
const ::SSLIOP::SSLssl_component (void) const
 Return SSL component corresponding to this endpoint.
TAO_IIOP_Endpointiiop_endpoint (void) const
 Accessor to our IIOP counterpart.
void iiop_endpoint (TAO_IIOP_Endpoint *endpoint, bool destroy)
 Mutator to our IIOP counterpart.
const ACE_INET_Addrobject_addr (void) const
 Return the SSLIOP-specific ACE_INET_Addr.
void set_sec_attrs (::Security::QOP qop, const ::Security::EstablishTrust &trust, const TAO::SSLIOP::OwnCredentials_ptr creds)
::Security::QOP qop (void) const
 Get the Quality-of-Protection settings for this endpoint.
::Security::EstablishTrust trust (void) const
 Get the establishment of trust settings for this endpoint.
TAO::SSLIOP::OwnCredentialscredentials (void) const
 Get the credentials for this endpoint.

Protected Attributes

::SSLIOP::SSL ssl_component_

Private Attributes

ACE_INET_Addr object_addr_
TAO_SSLIOP_Endpointnext_
TAO_IIOP_Endpointiiop_endpoint_
 IIOP counterpart.
bool destroy_iiop_endpoint_
::Security::QOP qop_
 Quailty-of-Protection settings for this endpoint object.
::Security::EstablishTrust trust_
 Establishment of trust settings for this endpoint object.
TAO::SSLIOP::OwnCredentials_var credentials_
 SSLIOP-specific credentials for this endpoint object.
int credentials_set_
 A flag indicating that credentials_ was explicitly initialized.

Friends

class TAO_SSLIOP_Profile

Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_SSLIOP_Endpoint::TAO_SSLIOP_Endpoint ( const ::SSLIOP::SSL ssl_component,
TAO_IIOP_Endpoint iiop_endp 
)

Constructor.

TAO_SSLIOP_Endpoint::~TAO_SSLIOP_Endpoint ( void   )  [virtual]

Destructor.


Member Function Documentation

TAO_SSLIOP_Endpoint & TAO_SSLIOP_Endpoint::operator= ( const TAO_SSLIOP_Endpoint other  ) 

Need to have an assignment operator since the SSLIOP_Profile class may have to reorder its list of endpoints based on filtering by the EndpointPolicy.

TAO_Endpoint * TAO_SSLIOP_Endpoint::next ( void   )  [virtual]

Implements TAO_Endpoint.

int TAO_SSLIOP_Endpoint::addr_to_string ( char *  buffer,
size_t  length 
) [virtual]

Implements TAO_Endpoint.

CORBA::Boolean TAO_SSLIOP_Endpoint::is_equivalent ( const TAO_Endpoint other_endpoint  )  [virtual]

Return true if this endpoint is equivalent to other_endpoint The relationship is defined as equivalency of their qop, hostname and ssl ports (if non-zero). Two endpoints may be equivalent even if their iiop counterparts are not. In fact, there are cases (as with the LPL processing) when those counterparts are not known at all.

Implements TAO_Endpoint.

Reimplemented in TAO_SSLIOP_Synthetic_Endpoint.

TAO_Endpoint * TAO_SSLIOP_Endpoint::duplicate ( void   )  [virtual]

Return a copy of the corresponding endpoints by allocating memory.

Implements TAO_Endpoint.

Reimplemented in TAO_SSLIOP_Synthetic_Endpoint.

CORBA::ULong TAO_SSLIOP_Endpoint::hash ( void   )  [virtual]

Return a hash value for this object. Note that only the IP address and port are used to generate the hash value. This may cause a few more hash table collisions in the transport cache, because a synthesized SSLIOP endpoints for an address will have the same hash value as a fully qualified one. The redeeming feature is that it makes / bi-directional SSLIOP work by allowing descendent class (Synthetic_Endpoint) instances to be used as keys in the cache manager and match other fully qualified endpoint. (which were used earlier to cache a particular transport)

Implements TAO_Endpoint.

ACE_INLINEconst::SSLIOP::SSL & TAO_SSLIOP_Endpoint::ssl_component ( void   )  const

Return SSL component corresponding to this endpoint.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_IIOP_Endpoint * TAO_SSLIOP_Endpoint::iiop_endpoint ( void   )  const

Accessor to our IIOP counterpart.

ACE_INLINE void TAO_SSLIOP_Endpoint::iiop_endpoint ( TAO_IIOP_Endpoint endpoint,
bool  destroy 
)

Mutator to our IIOP counterpart.

Parameters:
endpoint The new endpoint
destroy If set to true, the TAO::SSLIOP::Endpoint object retains ownership of the given TAO_IIOP_Endpoint.

const ACE_INET_Addr & TAO_SSLIOP_Endpoint::object_addr ( void   )  const

Return the SSLIOP-specific ACE_INET_Addr.

void TAO_SSLIOP_Endpoint::set_sec_attrs ( ::Security::QOP  qop,
const ::Security::EstablishTrust trust,
const TAO::SSLIOP::OwnCredentials_ptr  creds 
)

Set the Quality-of-Protection, establishment of trust, and credentials for this endpoint. This is all done in one function so that the guard may be used uniformly.

ACE_INLINE::Security::QOP TAO_SSLIOP_Endpoint::qop ( void   )  const

Get the Quality-of-Protection settings for this endpoint.

ACE_INLINE::Security::EstablishTrust TAO_SSLIOP_Endpoint::trust ( void   )  const

Get the establishment of trust settings for this endpoint.

ACE_INLINE TAO::SSLIOP::OwnCredentials * TAO_SSLIOP_Endpoint::credentials ( void   )  const

Get the credentials for this endpoint.

Note:
This method does not follow C++ mapping memory management rules. Specifically, no duplication or reference counting occurs in this method. This is so that no additional locks occur when checking the transport cache.

ACE_INLINE int TAO_SSLIOP_Endpoint::credentials_set ( void   )  const

Credentials are not supplied by the constructor, and it is valid to have a nil credential, for instance if the SSL_use_certificate() method returns 0. Therefore it is necessary to have a new method to distinguish between a credential that is nil because it has not been set, vs one that was set to nil explicitly.


Friends And Related Function Documentation

friend class TAO_SSLIOP_Profile [friend]


Member Data Documentation

::SSLIOP::SSL TAO_SSLIOP_Endpoint::ssl_component_ [protected]

Cache the SSL tagged component in a decoded format. Notice that we do not need to marshal this object!

ACE_INET_Addr TAO_SSLIOP_Endpoint::object_addr_ [mutable, private]

Cached instance of ACE_INET_Addr for use in making invocations, etc.

TAO_SSLIOP_Endpoint* TAO_SSLIOP_Endpoint::next_ [private]

IIOP Endpoints can be stringed into a list. Return the next endpoint in the list, if any.

TAO_IIOP_Endpoint* TAO_SSLIOP_Endpoint::iiop_endpoint_ [private]

IIOP counterpart.

Since SSLIOP is an 'extension' of IIOP, each SSLIOP_Endpoint contains SSL-specific information plus a pointer to the IIOP_Endpoint containing the IIOP portion of our address.

bool TAO_SSLIOP_Endpoint::destroy_iiop_endpoint_ [private]

Flag that determines whether or not the iiop_endpoint_ member is deallocated with delete().

::Security::QOP TAO_SSLIOP_Endpoint::qop_ [private]

Quailty-of-Protection settings for this endpoint object.

::Security::EstablishTrust TAO_SSLIOP_Endpoint::trust_ [private]

Establishment of trust settings for this endpoint object.

TAO::SSLIOP::OwnCredentials_var TAO_SSLIOP_Endpoint::credentials_ [private]

SSLIOP-specific credentials for this endpoint object.

int TAO_SSLIOP_Endpoint::credentials_set_ [private]

A flag indicating that credentials_ was explicitly initialized.


The documentation for this class was generated from the following files:
Generated on Mon Jun 25 17:04:55 2007 for TAO_SSLIOP by  doxygen 1.5.2-2