Principal.i

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Principal.i,v 1.11 2005/11/02 11:03:26 ossama Exp
00004 
00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 ACE_INLINE
00008 CORBA::Boolean
00009 CORBA::is_nil (CORBA::Principal_ptr principal)
00010 {
00011   return principal == 0;
00012 }
00013 
00014 ACE_INLINE
00015 CORBA::ULong
00016 CORBA::Principal::_decr_refcnt (void)
00017 {
00018   const CORBA::ULong new_count = --this->refcount_;
00019 
00020   if (new_count == 0)
00021     delete this;
00022 
00023   return new_count;
00024 }
00025 
00026 ACE_INLINE
00027 void
00028 CORBA::release (CORBA::Principal_ptr principal)
00029 {
00030   if (principal)
00031     {
00032       principal->_decr_refcnt ();
00033     }
00034 }
00035 
00036 ACE_INLINE
00037 CORBA::ULong
00038 CORBA::Principal::_incr_refcnt (void)
00039 {
00040   return ++this->refcount_;
00041 }
00042 
00043 
00044 ACE_INLINE
00045 CORBA::Principal *
00046 CORBA::Principal::_duplicate (CORBA::Principal * x)
00047 {
00048   if (x != 0)
00049     {
00050       x->_incr_refcnt ();
00051     }
00052 
00053   return x;
00054 }
00055 
00056 
00057 ACE_INLINE
00058 CORBA::Principal *
00059 CORBA::Principal::_nil (void)
00060 {
00061   return 0;
00062 }
00063 
00064 TAO_END_VERSIONED_NAMESPACE_DECL

Generated on Thu Nov 9 11:54:20 2006 for TAO by doxygen 1.3.6