TAO_SSLIOP_Synthetic_Endpoint Class Reference

#include <SSLIOP_Endpoint.h>

Inheritance diagram for TAO_SSLIOP_Synthetic_Endpoint:

Inheritance graph
[legend]
Collaboration diagram for TAO_SSLIOP_Synthetic_Endpoint:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_SSLIOP_Synthetic_Endpoint (TAO_IIOP_Endpoint *iiop_endp)
 Constructor.

virtual ~TAO_SSLIOP_Synthetic_Endpoint (void)
 Destructor.

CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint)
virtual TAO_Endpointduplicate (void)

Private Member Functions

 TAO_SSLIOP_Synthetic_Endpoint (const::SSLIOP::SSL *ssl)

Constructor & Destructor Documentation

TAO_SSLIOP_Synthetic_Endpoint::TAO_SSLIOP_Synthetic_Endpoint TAO_IIOP_Endpoint iiop_endp  ) 
 

Constructor.

Definition at line 323 of file SSLIOP_Endpoint.cpp.

References TAO_IIOP_Endpoint::port(), and SSLIOP::SSL::port.

00324   : TAO_SSLIOP_Endpoint ((const ::SSLIOP::SSL *)0, iiop_endp)
00325 {
00326    this->ssl_component_.port = iiop_endp->port ();
00327 }

TAO_SSLIOP_Synthetic_Endpoint::~TAO_SSLIOP_Synthetic_Endpoint void   )  [virtual]
 

Destructor.

Definition at line 313 of file SSLIOP_Endpoint.cpp.

00314 {
00315 }

TAO_SSLIOP_Synthetic_Endpoint::TAO_SSLIOP_Synthetic_Endpoint const::SSLIOP::SSL *  ssl  )  [private]
 

Definition at line 317 of file SSLIOP_Endpoint.cpp.

00318   : TAO_SSLIOP_Endpoint (ssl, 0)
00319 {
00320 }


Member Function Documentation

TAO_Endpoint * TAO_SSLIOP_Synthetic_Endpoint::duplicate void   )  [virtual]
 

Return a copy of the corresponding endpoints by allocating memory.

Reimplemented from TAO_SSLIOP_Endpoint.

Definition at line 364 of file SSLIOP_Endpoint.cpp.

References ACE_NEW_RETURN, TAO_SSLIOP_Endpoint::credentials(), TAO_SSLIOP_Endpoint::credentials_set(), TAO_SSLIOP_Endpoint::hash(), TAO_Endpoint::hash_val_, TAO_SSLIOP_Endpoint::iiop_endpoint(), TAO_SSLIOP_Endpoint::set_sec_attrs(), and TAO_SSLIOP_Endpoint::trust().

00365 {
00366   TAO_SSLIOP_Synthetic_Endpoint *endpoint = 0;
00367 
00368   // @@ We need to set the priority of the newly formed endpoint. It
00369   // shouldnt be a problem as long as SSL is not used with RTCORBA.
00370   ACE_NEW_RETURN (endpoint,
00371                   TAO_SSLIOP_Synthetic_Endpoint (&(this->ssl_component ())),
00372                   0);
00373 
00374   if (this->credentials_set())
00375     endpoint->set_sec_attrs (this->qop (),this->trust (), this->credentials ());
00376 
00377   endpoint->iiop_endpoint (this->iiop_endpoint (), true);
00378   endpoint->hash_val_ = this->hash ();
00379   return endpoint;
00380 }

CORBA::Boolean TAO_SSLIOP_Synthetic_Endpoint::is_equivalent const TAO_Endpoint other_endpoint  )  [virtual]
 

Return true if this endpoint is equivalent to

Parameters:
other_endpoint. Two synthetic endpoints are equivalent iff their iiop counterparts are equivalent, and, if both have non-zero ssl ports, their ssl ports are the same.

Reimplemented from TAO_SSLIOP_Endpoint.

Definition at line 331 of file SSLIOP_Endpoint.cpp.

References TAO_IIOP_Endpoint::host(), TAO_SSLIOP_Endpoint::iiop_endpoint(), TAO_SSLIOP_Endpoint::qop(), TAO_SSLIOP_Endpoint::ssl_component(), and ACE_OS::strcmp().

00332 {
00333   TAO_Endpoint *endpt = const_cast<TAO_Endpoint *> (other_endpoint);
00334 
00335   TAO_SSLIOP_Endpoint *endpoint =
00336     dynamic_cast<TAO_SSLIOP_Endpoint *> (endpt);
00337 
00338   if (endpoint == 0)
00339     return 0;
00340   
00341   if ((this->ssl_component ().port != 0
00342        && endpoint->ssl_component ().port != 0
00343        && this->ssl_component ().port != endpoint->ssl_component ().port)
00344        || this->qop () < endpoint->qop ())
00345   {
00346     return 0;
00347   }
00348 
00349   // Comparing the underlying iiop endpoints is wrong, as their port
00350   // numbers often may not make sense, or are not being used anyway.
00351   // Therefore, directly comparing the hosts at this point. See also the
00352   // comments in the hash() method
00353   if (this->iiop_endpoint() == 0 || endpoint->iiop_endpoint() == 0)
00354     return 0;
00355 
00356   if ((ACE_OS::strcmp (this->iiop_endpoint()->host (), 
00357                        endpoint->iiop_endpoint()->host ()) != 0))
00358     return 0;
00359 
00360   return 1;
00361 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:55:23 2006 for TAO_SSLIOP by doxygen 1.3.6