summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/AV
diff options
context:
space:
mode:
authoryamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-02-20 00:13:31 +0000
committeryamuna <yamuna@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-02-20 00:13:31 +0000
commit42e32696a403ab31999c2248793d5869b88cbb57 (patch)
tree52f9c5693a35c457ccda67f8be892247ec01490e /TAO/orbsvcs/orbsvcs/AV
parent1bdc64e890c6e301d4f1f834542b188a301f4f22 (diff)
downloadATCD-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.cpp21
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/AVStreams_i.h5
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.