00001 // -*- C++ -*- 00002 // 00003 // Object.inl,v 1.9 2005/11/14 22:03:49 ossama Exp 00004 00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 ACE_INLINE CORBA::Long 00008 TAO_Notify_Object::id (void) const 00009 { 00010 return id_; 00011 } 00012 00013 ACE_INLINE void 00014 TAO_Notify_Object::execute_task (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL) 00015 { 00016 TAO_Notify_Worker_Task::Ptr task( this->worker_task_ ); 00017 if ( task.isSet() ) 00018 { 00019 task->execute( method_request ACE_ENV_ARG_PARAMETER ); 00020 } 00021 } 00022 00023 ACE_INLINE void 00024 TAO_Notify_Object::inherit_poas (TAO_Notify_Object& parent) 00025 { 00026 this->set_proxy_poa( parent.proxy_poa() ); 00027 this->set_object_poa( parent.object_poa() ); 00028 this->set_poa( parent.poa() ); 00029 00030 // Do not take ownership of parent's poas 00031 own_proxy_poa_ = false; 00032 own_object_poa_ = false; 00033 } 00034 00035 ACE_INLINE void 00036 TAO_Notify_Object::adopt_poa (TAO_Notify_POA_Helper* single) 00037 { 00038 ACE_ASSERT( single != 0 ); 00039 this->set_proxy_poa( single ); 00040 this->set_object_poa( single ); 00041 this->set_poa( single ); 00042 00043 // Maintain ownership of the poa 00044 } 00045 00046 ACE_INLINE void 00047 TAO_Notify_Object::set_primary_as_proxy_poa() 00048 { 00049 this->set_poa( this->proxy_poa() ); 00050 } 00051 00052 ACE_INLINE TAO_Notify_POA_Helper* 00053 TAO_Notify_Object::poa (void) 00054 { 00055 return this->poa_; 00056 } 00057 00058 ACE_INLINE TAO_Notify_POA_Helper* 00059 TAO_Notify_Object::object_poa (void) 00060 { 00061 return this->object_poa_; 00062 } 00063 00064 ACE_INLINE TAO_Notify_POA_Helper* 00065 TAO_Notify_Object::proxy_poa (void) 00066 { 00067 return this->proxy_poa_; 00068 } 00069 00070 ACE_INLINE int 00071 TAO_Notify_Object::has_shutdown (void) 00072 { 00073 return this->shutdown_; 00074 } 00075 00076 ACE_INLINE void 00077 TAO_Notify_Object::set_admin_properties( TAO_Notify_AdminProperties* admin_properties ) 00078 { 00079 ACE_ASSERT( admin_properties != 0 ); 00080 this->admin_properties_.reset( admin_properties ); 00081 } 00082 00083 ACE_INLINE TAO_Notify_Event_Manager& 00084 TAO_Notify_Object::event_manager (void) 00085 { 00086 ACE_ASSERT( this->event_manager_.get() != 0 ); 00087 return *this->event_manager_; 00088 } 00089 00090 ACE_INLINE TAO_Notify_AdminProperties& 00091 TAO_Notify_Object::admin_properties (void) 00092 { 00093 ACE_ASSERT( this->admin_properties_.get() != 0 ); 00094 return *this->admin_properties_; 00095 } 00096 00097 TAO_END_VERSIONED_NAMESPACE_DECL