diff options
author | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-02-20 00:13:31 +0000 |
---|---|---|
committer | yamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-02-20 00:13:31 +0000 |
commit | 42e32696a403ab31999c2248793d5869b88cbb57 (patch) | |
tree | 52f9c5693a35c457ccda67f8be892247ec01490e /TAO/orbsvcs/orbsvcs/AV | |
parent | 1bdc64e890c6e301d4f1f834542b188a301f4f22 (diff) | |
download | ATCD-42e32696a403ab31999c2248793d5869b88cbb57.tar.gz |
ChangelogTag: Thu Feb 19 18:55:13 2004 Yamuna Krishnamurthy <yamuna@oomworks.com
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/AV')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp | 21 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h | 5 |
2 files changed, 23 insertions, 3 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp index 2b34a7824c3..fb39c429242 100644 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp +++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp @@ -1634,6 +1634,7 @@ TAO_MCastConfigIf::in_flowSpec (const AVStreams::flowSpec& flow_spec, const char // ---------------------------------------------------------------------- TAO_Base_StreamEndPoint::TAO_Base_StreamEndPoint (void) + : protocol_object_set_ (0) { } @@ -1687,6 +1688,9 @@ TAO_Base_StreamEndPoint::handle_preconnect (AVStreams::flowSpec &) CORBA::Boolean TAO_Base_StreamEndPoint::handle_postconnect (AVStreams::flowSpec &) { + + while (!this->is_protocol_object_set ()) + TAO_AV_CORE::instance ()->orb ()->perform_work (); return 1; } @@ -1705,6 +1709,19 @@ TAO_Base_StreamEndPoint::set_protocol_object (const char * /*flowname*/, return -1; } +void +TAO_Base_StreamEndPoint::protocol_object_set (void) +{ + this->protocol_object_set_ = 1; +} + + +int +TAO_Base_StreamEndPoint::is_protocol_object_set (void) +{ + return this->protocol_object_set_; +} + int TAO_Base_StreamEndPoint::get_callback (const char * /*flowname*/, TAO_AV_Callback *&/*sfp_callback*/) @@ -2120,8 +2137,8 @@ TAO_StreamEndPoint::destroy (const AVStreams::flowSpec &flow_spec vdev_any.in() >>= vdev; CORBA::Any_var mc_any = vdev->get_property_value ("Related_MediaCtrl" - ACE_ENV_ARG_PARAMETER); - + ACE_ENV_ARG_PARAMETER); + // The Related_MediaCtrl property was inserted as a CORBA::Object, so we // must extract it as the same type. CORBA::Object_var obj; diff --git a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h index 1c9f650662a..4defc8218c7 100644 --- a/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h +++ b/TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h @@ -524,12 +524,15 @@ public: TAO_AV_QoS &qos (void); + void TAO_Base_StreamEndPoint::protocol_object_set (void); + int TAO_Base_StreamEndPoint::is_protocol_object_set (void); protected: + TAO_AV_QoS qos_; Flow_Handler_Map flow_handler_map_; Flow_Handler_Map control_flow_handler_map_; - + int protocol_object_set_; }; // Forward declarations. |