diff options
author | michel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-07-01 20:13:11 +0000 |
---|---|---|
committer | michel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-07-01 20:13:11 +0000 |
commit | c1eb8ab20e76266f9e5b0a1009bfc2e1c93f7aa0 (patch) | |
tree | 27aaea0cca31b544397fe079ece67ca0b6678ebd /TAO/orbsvcs/orbsvcs/Notify/Object.inl | |
parent | 70424f8e426ecd24b30dcdea12c1caa7d37abc57 (diff) | |
download | ATCD-c1eb8ab20e76266f9e5b0a1009bfc2e1c93f7aa0.tar.gz |
ChangeLogTag: Fri Jul 1 14:43:27 2005 Justin Michel <michel_j@ociweb.com>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Object.inl')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Object.inl | 58 |
1 files changed, 53 insertions, 5 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object.inl b/TAO/orbsvcs/orbsvcs/Notify/Object.inl index 3a20131bbec..8ea54d6f1f1 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Object.inl +++ b/TAO/orbsvcs/orbsvcs/Notify/Object.inl @@ -6,10 +6,43 @@ TAO_Notify_Object::id (void) const return id_; } -ACE_INLINE TAO_Notify_Worker_Task* -TAO_Notify_Object::worker_task (void) +ACE_INLINE void +TAO_Notify_Object::execute_task (TAO_Notify_Method_Request& method_request ACE_ENV_ARG_DECL) { - return this->worker_task_; + TAO_Notify_Worker_Task::Ptr task( this->worker_task_ ); + if ( task.isSet() ) + { + task->execute( method_request ACE_ENV_ARG_PARAMETER ); + } +} + +ACE_INLINE void +TAO_Notify_Object::inherit_poas (TAO_Notify_Object& parent) +{ + this->set_proxy_poa( parent.proxy_poa() ); + this->set_object_poa( parent.object_poa() ); + this->set_poa( parent.poa() ); + + // Do not take ownership of parent's poas + own_proxy_poa_ = false; + own_object_poa_ = false; +} + +ACE_INLINE void +TAO_Notify_Object::adopt_poa (TAO_Notify_POA_Helper* single) +{ + ACE_ASSERT( single != 0 ); + this->set_proxy_poa( single ); + this->set_object_poa( single ); + this->set_poa( single ); + + // Maintain ownership of the poa +} + +ACE_INLINE void +TAO_Notify_Object::set_primary_as_proxy_poa() +{ + this->set_poa( this->proxy_poa() ); } ACE_INLINE TAO_Notify_POA_Helper* @@ -36,8 +69,23 @@ TAO_Notify_Object::has_shutdown (void) return this->shutdown_; } -ACE_INLINE TAO_Notify_Event_Manager* +ACE_INLINE void +TAO_Notify_Object::set_admin_properties( TAO_Notify_AdminProperties* admin_properties ) +{ + ACE_ASSERT( admin_properties != 0 ); + this->admin_properties_.reset( admin_properties ); +} + +ACE_INLINE TAO_Notify_Event_Manager& TAO_Notify_Object::event_manager (void) { - return this->event_manager_; + ACE_ASSERT( this->event_manager_.get() != 0 ); + return *this->event_manager_; +} + +ACE_INLINE TAO_Notify_AdminProperties& +TAO_Notify_Object::admin_properties (void) +{ + ACE_ASSERT( this->admin_properties_.get() != 0 ); + return *this->admin_properties_; } |