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