Object.i

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Object.i,v 1.46 2006/02/21 17:59:46 smcqueen Exp
00004 
00005 // ****************************************************************
00006 
00007 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00008 
00009 ACE_INLINE
00010 CORBA::Object::Object (int)
00011   : is_local_ (true),
00012     is_evaluated_ (true),
00013     ior_ (),
00014     orb_core_ (0),
00015     protocol_proxy_ (0),
00016     refcount_ (1),
00017     refcount_lock_ (0)
00018 {
00019 }
00020 
00021 ACE_INLINE CORBA::Object_ptr
00022 CORBA::Object::_duplicate (CORBA::Object_ptr obj)
00023 {
00024   if (obj)
00025     {
00026       obj->_add_ref ();
00027     }
00028 
00029   return obj;
00030 }
00031 
00032 // ************************************************************
00033 // These are in CORBA namespace
00034 
00035 ACE_INLINE
00036 void
00037 CORBA::release (CORBA::Object_ptr obj)
00038 {
00039   if (obj)
00040     {
00041       obj->_remove_ref ();
00042     }
00043 }
00044 
00045 ACE_INLINE
00046 CORBA::Boolean
00047 CORBA::is_nil (CORBA::Object_ptr obj)
00048 {
00049   if (obj == 0)
00050     {
00051       return true;
00052     }
00053 
00054   return CORBA::Object::is_nil_i (obj);
00055 }
00056 
00057 // ************************************************************
00058 
00059 // Null pointers represent nil objects.
00060 
00061 ACE_INLINE
00062 CORBA::Object_ptr
00063 CORBA::Object::_nil (void)
00064 {
00065   return 0;
00066 }
00067 
00068 ACE_INLINE
00069 CORBA::Object_ptr
00070 CORBA::Object::_narrow (CORBA::Object_ptr obj
00071                         ACE_ENV_ARG_DECL_NOT_USED)
00072 {
00073   return CORBA::Object::_duplicate (obj);
00074 }
00075 
00076 ACE_INLINE CORBA::Boolean
00077 CORBA::Object::is_evaluated (void) const
00078 {
00079   return this->is_evaluated_;
00080 }
00081 
00082 ACE_INLINE TAO_ORB_Core *
00083 CORBA::Object::orb_core (void) const
00084 {
00085   return this->orb_core_;
00086 }
00087 
00088 ACE_INLINE IOP::IOR *
00089 CORBA::Object::steal_ior (void)
00090 {
00091   return this->ior_._retn ();
00092 }
00093 
00094 ACE_INLINE const IOP::IOR &
00095 CORBA::Object::ior (void) const
00096 {
00097   return this->ior_.in ();
00098 }
00099 
00100 TAO_END_VERSIONED_NAMESPACE_DECL

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