#include <Principal.h>
Collaboration diagram for CORBA::Principal:
Public Types | |
typedef Principal_ptr | _ptr_type |
typedef Principal_var | _var_type |
Public Member Functions | |
unsigned long | _incr_refcnt (void) |
unsigned long | _decr_refcnt (void) |
Principal (void) | |
Static Public Member Functions | |
static Principal * | _duplicate (Principal *) |
static Principal * | _nil (void) |
Public Attributes | |
CORBA::OctetSeq | id |
Protected Member Functions | |
~Principal (void) | |
Destructor. | |
Private Member Functions | |
Principal & | operator= (const CORBA::Principal_ptr &) |
Principal (const CORBA::Principal_ptr &) | |
Private Attributes | |
ACE_Atomic_Op< TAO_SYNCH_MUTEX, unsigned long > | refcount_ |
Reference counter. |
Identities are used to control acccess (authorization) as well as in audit trails (accountability).
Definition at line 56 of file Principal.h.
Definition at line 77 of file Principal.h.
Definition at line 78 of file Principal.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL CORBA::Principal::Principal | ( | void | ) |
CORBA::Principal::~Principal | ( | void | ) | [protected] |
Destructor.
Protected destructor to enforce proper memory management through the reference counting mechanism.
Definition at line 26 of file Principal.cpp.
CORBA::Principal::Principal | ( | const CORBA::Principal_ptr & | ) | [private] |
ACE_INLINE unsigned long CORBA::Principal::_decr_refcnt | ( | void | ) |
Definition at line 16 of file Principal.inl.
References refcount_.
Referenced by CORBA::release().
00017 { 00018 unsigned long new_count = --this->refcount_; 00019 00020 if (new_count == 0) 00021 delete this; 00022 00023 return new_count; 00024 }
ACE_INLINE CORBA::Principal * CORBA::Principal::_duplicate | ( | Principal * | ) | [static] |
Definition at line 46 of file Principal.inl.
References _incr_refcnt().
00047 { 00048 if (x != 0) 00049 { 00050 x->_incr_refcnt (); 00051 } 00052 00053 return x; 00054 }
ACE_INLINE unsigned long CORBA::Principal::_incr_refcnt | ( | void | ) |
Definition at line 38 of file Principal.inl.
References refcount_.
Referenced by _duplicate().
00039 { 00040 return ++this->refcount_; 00041 }
ACE_INLINE CORBA::Principal * CORBA::Principal::_nil | ( | void | ) | [static] |
Principal& CORBA::Principal::operator= | ( | const CORBA::Principal_ptr & | ) | [private] |
CORBA::OctetSeq CORBA::Principal::id |
ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> CORBA::Principal::refcount_ [private] |
Reference counter.
Definition at line 97 of file Principal.h.
Referenced by _decr_refcnt(), and _incr_refcnt().