CORBA::Principal Class Reference

A "Principal" identifies an authenticated entity in the network administration framework. More...

#include <Principal.h>

Collaboration diagram for CORBA::Principal:

Collaboration graph
[legend]
List of all members.

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

Principaloperator= (const CORBA::Principal_ptr &)
 Principal (const CORBA::Principal_ptr &)

Private Attributes

ACE_Atomic_Op< TAO_SYNCH_MUTEX,
unsigned long > 
refcount_
 Reference counter.

Detailed Description

A "Principal" identifies an authenticated entity in the network administration framework.

Identities are used to control acccess (authorization) as well as in audit trails (accountability).

Note:
This CORBA feature has been deprecated by the OMG. Use the CORBA Security Service instead.

Definition at line 56 of file Principal.h.


Member Typedef Documentation

typedef Principal_ptr CORBA::Principal::_ptr_type

Definition at line 77 of file Principal.h.

typedef Principal_var CORBA::Principal::_var_type

Definition at line 78 of file Principal.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL CORBA::Principal::Principal ( void   ) 

Definition at line 21 of file Principal.cpp.

00022   : refcount_ (1)
00023 {
00024 }

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.

00027 {
00028 }

CORBA::Principal::Principal ( const CORBA::Principal_ptr  )  [private]


Member Function Documentation

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]

Definition at line 59 of file Principal.inl.

00060 {
00061   return 0;
00062 }

Principal& CORBA::Principal::operator= ( const CORBA::Principal_ptr  )  [private]


Member Data Documentation

CORBA::OctetSeq CORBA::Principal::id

Definition at line 62 of file Principal.h.

Referenced by operator<<(), and operator>>().

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().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:58 2010 for TAO by  doxygen 1.4.7