#include <SL3_SecurityCurrent.h>
Inheritance diagram for TAO::SL3::SecurityCurrent:
Public Member Functions | |
SecurityCurrent (size_t tss_slot, TAO_ORB_Core *oc) | |
Constructor. | |
size_t | tss_slot (void) const |
SecurityLevel3::SecurityCurrent Methods | |
Methods required by the SecurityLevel3::SecurityCurrent interface. | |
virtual SecurityLevel3::ClientCredentials_ptr | client_credentials () |
virtual CORBA::Boolean | request_is_local (void) |
Protected Member Functions | |
~SecurityCurrent (void) | |
Destructor. | |
Private Member Functions | |
SecurityCurrent_Impl * | implementation (void) |
Retricted Copying and Assignment | |
Prevent copying through the copy constructor and the assignment operator. | |
SecurityCurrent (const SecurityCurrent &) | |
void | operator= (const SecurityCurrent &) |
Private Attributes | |
const size_t | tss_slot_ |
Thread-specific storage slot assigned to this object. | |
TAO_ORB_Core *const | orb_core_ |
Thread-specific information may be retrieved from the target security service through this object.
Definition at line 56 of file SL3_SecurityCurrent.h.
TAO::SL3::SecurityCurrent::SecurityCurrent | ( | size_t | tss_slot, | |
TAO_ORB_Core * | oc | |||
) |
Constructor.
TAO::SL3::SecurityCurrent::~SecurityCurrent | ( | void | ) | [protected] |
Destructor.
Protected destructor to enforce proper memory management through the reference counting mechanism.
Definition at line 25 of file SL3_SecurityCurrent.cpp.
TAO::SL3::SecurityCurrent::SecurityCurrent | ( | const SecurityCurrent & | ) | [private] |
SecurityLevel3::ClientCredentials_ptr TAO::SL3::SecurityCurrent::client_credentials | ( | ) | [virtual] |
Definition at line 30 of file SL3_SecurityCurrent.cpp.
References TAO::SL3::SecurityCurrent_Impl::client_credentials(), and implementation().
00031 { 00032 TAO::SL3::SecurityCurrent_Impl * impl = this->implementation (); 00033 00034 // If the implementation pointer returned from TSS is zero, then 00035 // we're not in the middle of a request/upcall. Throw an exception 00036 // to indicate that. 00037 if (impl == 0) 00038 throw CORBA::BAD_INV_ORDER (); 00039 00040 return impl->client_credentials (); 00041 }
ACE_INLINE TAO::SL3::SecurityCurrent_Impl * TAO::SL3::SecurityCurrent::implementation | ( | void | ) | [private] |
The pointer is actually one to a concrete implementation provided by the underlying security mechanism. For example, SSLIOP implements its own SSLIOP-specific operations corresponding to the ones exposed by the SecurityCurrent interface. Similarly, SECIOP would do the same.
Definition at line 17 of file SL3_SecurityCurrent.inl.
References TAO_ORB_Core::get_tss_resource(), and orb_core_.
Referenced by client_credentials(), and request_is_local().
00018 { 00019 TAO::SL3::SecurityCurrent_Impl *impl = 00020 static_cast<TAO::SL3::SecurityCurrent_Impl *> ( 00021 this->orb_core_->get_tss_resource (this->tss_slot_)); 00022 00023 return impl; 00024 }
void TAO::SL3::SecurityCurrent::operator= | ( | const SecurityCurrent & | ) | [private] |
CORBA::Boolean TAO::SL3::SecurityCurrent::request_is_local | ( | void | ) | [virtual] |
Definition at line 44 of file SL3_SecurityCurrent.cpp.
References implementation(), and TAO::SL3::SecurityCurrent_Impl::request_is_local().
00045 { 00046 TAO::SL3::SecurityCurrent_Impl * impl = this->implementation (); 00047 00048 // If the implementation pointer returned from TSS is zero, then 00049 // we're not in the middle of a request/upcall. Throw an exception 00050 // to indicate that. 00051 if (impl == 0) 00052 throw CORBA::BAD_INV_ORDER (); 00053 00054 return impl->request_is_local (); 00055 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE size_t TAO::SL3::SecurityCurrent::tss_slot | ( | void | ) | const |
The concrete thread-specific storage SecurityCurrent implementations will each use this slot ID.
Definition at line 11 of file SL3_SecurityCurrent.inl.
References tss_slot_.
00012 { 00013 return this->tss_slot_; 00014 }
TAO_ORB_Core* const TAO::SL3::SecurityCurrent::orb_core_ [private] |
Pointer to the ORB Core corresponding to the ORB with which this object is registered.
Reimplemented from CORBA::Object.
Definition at line 130 of file SL3_SecurityCurrent.h.
Referenced by implementation().
const size_t TAO::SL3::SecurityCurrent::tss_slot_ [private] |
Thread-specific storage slot assigned to this object.
Definition at line 126 of file SL3_SecurityCurrent.h.
Referenced by tss_slot().