summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Object.inl
diff options
context:
space:
mode:
authormichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-07-01 20:13:11 +0000
committermichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-07-01 20:13:11 +0000
commitc1eb8ab20e76266f9e5b0a1009bfc2e1c93f7aa0 (patch)
tree27aaea0cca31b544397fe079ece67ca0b6678ebd /TAO/orbsvcs/orbsvcs/Notify/Object.inl
parent70424f8e426ecd24b30dcdea12c1caa7d37abc57 (diff)
downloadATCD-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.inl58
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_;
}