Object.inl

Go to the documentation of this file.
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

Generated on Tue Feb 2 17:37:52 2010 for TAO by  doxygen 1.4.7