00001 // -*- C++ -*- 00002 // 00003 // $Id: Object.inl 81410 2008-04-24 09:22:08Z johnnyw $ 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 object_init_lock_ (0) 00017 { 00018 } 00019 00020 ACE_INLINE CORBA::Object_ptr 00021 CORBA::Object::_duplicate (CORBA::Object_ptr obj) 00022 { 00023 if (obj) 00024 { 00025 obj->_add_ref (); 00026 } 00027 00028 return obj; 00029 } 00030 00031 // ************************************************************ 00032 // These are in CORBA namespace 00033 00034 ACE_INLINE 00035 void 00036 CORBA::release (CORBA::Object_ptr obj) 00037 { 00038 if (obj) 00039 { 00040 obj->_remove_ref (); 00041 } 00042 } 00043 00044 ACE_INLINE 00045 CORBA::Boolean 00046 CORBA::is_nil (CORBA::Object_ptr obj) 00047 { 00048 if (obj == 0) 00049 { 00050 return true; 00051 } 00052 00053 return CORBA::Object::is_nil_i (obj); 00054 } 00055 00056 // ************************************************************ 00057 00058 // Null pointers represent nil objects. 00059 00060 ACE_INLINE 00061 CORBA::Object_ptr 00062 CORBA::Object::_nil (void) 00063 { 00064 return 0; 00065 } 00066 00067 ACE_INLINE 00068 CORBA::Object_ptr 00069 CORBA::Object::_narrow (CORBA::Object_ptr obj) 00070 { 00071 return CORBA::Object::_duplicate (obj); 00072 } 00073 00074 ACE_INLINE CORBA::Boolean 00075 CORBA::Object::is_evaluated (void) const 00076 { 00077 return this->is_evaluated_; 00078 } 00079 00080 ACE_INLINE TAO_ORB_Core * 00081 CORBA::Object::orb_core (void) const 00082 { 00083 return this->orb_core_; 00084 } 00085 00086 ACE_INLINE IOP::IOR * 00087 CORBA::Object::steal_ior (void) 00088 { 00089 return this->ior_._retn (); 00090 } 00091 00092 ACE_INLINE const IOP::IOR & 00093 CORBA::Object::ior (void) const 00094 { 00095 return this->ior_.in (); 00096 } 00097 00098 TAO_END_VERSIONED_NAMESPACE_DECL