summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp265
1 files changed, 99 insertions, 166 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp
index 56f02d1fad8..d0888b681a7 100644
--- a/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp
+++ b/TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp
@@ -26,7 +26,6 @@ template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
int
TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activate (void)
{
- ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
this->activate_stream_endpoint (ACE_TRY_ENV);
@@ -47,7 +46,6 @@ TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activ
return -1;
}
ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
return 0;
}
@@ -63,9 +61,9 @@ TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activ
if (this->make_vdev (vdev) == -1)
return -1;
- // Activate the object under the root poa.
+ // Put the object in the POA
CORBA::String_var vdev_ior = this->orb_manager_->activate (vdev,
- ACE_TRY_ENV);
+ env);
ACE_TRY_CHECK;
ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Endpoint_Reactive_Strategy::activate_vdev, vdev ior is:%s\n",
vdev_ior. in ()));
@@ -73,8 +71,6 @@ TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activ
// Save the object reference, so that create_A can return it
this->vdev_ = vdev->_this (ACE_TRY_ENV);
ACE_TRY_CHECK;
- vdev->_remove_ref (ACE_TRY_ENV);
- ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -98,7 +94,7 @@ TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activ
if (this->make_mediactrl (media_ctrl) == -1)
return -1;
- // Activate the mediactrl object under the root poa.
+ // Put the object in the POA
CORBA::String_var mediactrl_ior = this->orb_manager_->activate (media_ctrl,
ACE_TRY_ENV);
ACE_TRY_CHECK;
@@ -108,7 +104,7 @@ TAO_AV_Endpoint_Reactive_Strategy <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activ
// Associate the media controller object reference with the vdev, as per the OMG spec
CORBA::Any anyval;
- anyval <<= this->orb_manager_->orb ()->object_to_string (media_ctrl->_this (ACE_TRY_ENV),
+ anyval <<= this->orb_manager_->orb ()->object_to_string (media_ctrl->_this (env),
ACE_TRY_ENV);
ACE_TRY_CHECK;
@@ -219,8 +215,6 @@ TAO_AV_Endpoint_Reactive_Strategy_A <T_StreamEndpoint, T_VDev, T_MediaCtrl>::act
// Save the object references, so that create_a can return them
this->stream_endpoint_a_ = stream_endpoint_a->_this (ACE_TRY_ENV);
ACE_TRY_CHECK;
- stream_endpoint_a->_remove_ref (ACE_TRY_ENV);
- ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -267,8 +261,6 @@ TAO_AV_Endpoint_Reactive_Strategy_B <T_StreamEndpoint, T_VDev, T_MediaCtrl>::act
this->stream_endpoint_b_ = stream_endpoint_b->_this (ACE_TRY_ENV);
ACE_TRY_CHECK;
- stream_endpoint_b->_remove_ref (ACE_TRY_ENV);
- ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -320,7 +312,6 @@ template <class T_StreamEndpoint_B, class T_VDev , class T_MediaCtrl>
int
TAO_AV_Child_Process <T_StreamEndpoint_B, T_VDev, T_MediaCtrl>::init (int argc, char **argv)
{
- ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
// create the objects and activate them in the poa
@@ -364,53 +355,45 @@ TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::activate_objects
char **argv,
CORBA::Environment &ACE_TRY_ENV)
{
- ACE_TRY
- {
- // initialize the orb
- this->orb_manager_.init (argc,
- argv,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
+ // initialize the orb
+ this->orb_manager_.init (argc,
+ argv,
+ ACE_TRY_ENV);
+ TAO_CHECK_ENV_RETURN (env, -1);
- // bridge method to make a new stream endpoint
- if (this->make_stream_endpoint (this->stream_endpoint_) == -1)
- return -1;
+ // bridge method to make a new stream endpoint
+ if (this->make_stream_endpoint (this->stream_endpoint_) == -1)
+ return -1;
- // bridge method to make a new vdev
- if (this->make_vdev (this->vdev_) == -1)
- return -1;
+ // bridge method to make a new vdev
+ if (this->make_vdev (this->vdev_) == -1)
+ return -1;
- // bridge method to make a new media controller
- if (this->make_mediactrl (this->media_ctrl_) == -1)
- return -1;
+ // bridge method to make a new media controller
+ if (this->make_mediactrl (this->media_ctrl_) == -1)
+ return -1;
- // activate the stream_endpoint
- CORBA::String_var stream_endpoint_ior = this->orb_manager_.activate (this->stream_endpoint_,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Child_Process::activate_objects,stream_endpoint_ior :%s\n",stream_endpoint_ior.in ()));
+ // activate the stream_endpoint
+ CORBA::String_var stream_endpoint_ior = this->orb_manager_.activate (this->stream_endpoint_,
+ ACE_TRY_ENV);
+ TAO_CHECK_ENV_RETURN (env, -1);
+ ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Child_Process::activate_objects,stream_endpoint_ior :%s\n",stream_endpoint_ior.in ()));
- // activate the vdev
- CORBA::String_var vdev_ior = this->orb_manager_.activate (this->vdev_,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Child_Process::activate_objects, vdev ior is :%s\n",vdev_ior.in ()));
+ // activate the vdev
+ CORBA::String_var vdev_ior = this->orb_manager_.activate (this->vdev_,
+ ACE_TRY_ENV);
+ TAO_CHECK_ENV_RETURN (env, -1);
+ ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Child_Process::activate_objects, vdev ior is :%s\n",vdev_ior.in ()));
- // activate the media controller
- CORBA::String_var media_ctrl_ior = this->orb_manager_.activate (this->media_ctrl_,
- ACE_TRY_ENV);
+ // activate the media controller
+ CORBA::String_var media_ctrl_ior = this->orb_manager_.activate (this->media_ctrl_,
+ ACE_TRY_ENV);
+
+ TAO_CHECK_ENV_RETURN (env, -1);
+ ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Child_Process::activate_objects,media_ctrl_ior is: %s\n",media_ctrl_ior.in ()));
- ACE_TRY_CHECK;
- ACE_DEBUG ((LM_DEBUG,"(%P|%t)TAO_AV_Child_Process::activate_objects,media_ctrl_ior is: %s\n",media_ctrl_ior.in ()));
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::init ");
- return -1;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
return 0;
+
}
// Bind to the namingservice
@@ -418,27 +401,19 @@ template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
int
TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::bind_to_naming_service (CORBA::Environment &ACE_TRY_ENV)
{
- ACE_TRY
- {
- CORBA::Object_var naming_obj =
- this->orb_manager_.orb ()->resolve_initial_references ("NameService");
- if (CORBA::is_nil (naming_obj.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to resolve the Name Service.\n"),
- -1);
- // ACE_DEBUG ((LM_DEBUG, "(%P|%t) %s:%d\n", __FILE__, __LINE__));
- this->naming_context_ =
- CosNaming::NamingContext::_narrow (naming_obj.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::bind_to_naming_service");
- return -1;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
+ CORBA::Object_var naming_obj =
+ this->orb_manager_.orb ()->resolve_initial_references ("NameService");
+ if (CORBA::is_nil (naming_obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to resolve the Name Service.\n"),
+ -1);
+ // ACE_DEBUG ((LM_DEBUG, "(%P|%t) %s:%d\n", __FILE__, __LINE__));
+ this->naming_context_ =
+ CosNaming::NamingContext::_narrow (naming_obj.in (),
+ ACE_TRY_ENV);
+ TAO_CHECK_ENV_RETURN (env,
+ -1);
+
return 0;
}
@@ -447,70 +422,43 @@ template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
int
TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::register_vdev (CORBA::Environment &ACE_TRY_ENV)
{
- CORBA::Object_ptr vdev_obj;
- ACE_TRY
- {
- char vdev_name [BUFSIZ];
- ACE_OS::sprintf (vdev_name,
- "%s:%s:%d",
- "VDev",
- this->host_,
- this->pid_);
-
- ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",vdev_name));
- // create the name
- this->vdev_name_.length (1);
- this->vdev_name_ [0].id = CORBA::string_dup (vdev_name);
-
- // make the media controller a property of the vdev
- CORBA::Any media_ctrl_property;
- CORBA::Object_var media_ctrl_obj =
- this->media_ctrl_->_this (ACE_TRY_ENV);
- ACE_TRY_CHECK;
- media_ctrl_property <<= this->orb_manager_.orb ()->object_to_string (media_ctrl_obj.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- this->vdev_->define_property ("Related_MediaCtrl",
- media_ctrl_property,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
+ char vdev_name [BUFSIZ];
+ ACE_OS::sprintf (vdev_name,
+ "%s:%s:%d",
+ "VDev",
+ this->host_,
+ this->pid_);
- vdev_obj = this->vdev_->_this (ACE_TRY_ENV);
- ACE_TRY_CHECK;
- this->vdev_->_remove_ref (ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::register_vdev");
- return -1;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
- ACE_TRY_EX (bind)
- {
- // Register the vdev with the naming server.
- this->naming_context_->bind (this->vdev_name_,
- vdev_obj,
- ACE_TRY_ENV);
- ACE_TRY_CHECK_EX (bind);
- }
- ACE_CATCH (CosNaming::NamingContext::AlreadyBound,ex)
+ ACE_DEBUG ((LM_DEBUG,"(%P|%t)%s\n",vdev_name));
+ // create the name
+ this->vdev_name_.length (1);
+ this->vdev_name_ [0].id = CORBA::string_dup (vdev_name);
+
+ // make the media controller a property of the vdev
+ CORBA::Any media_ctrl_property;
+ media_ctrl_property <<= this->orb_manager_.orb ()->object_to_string (this->media_ctrl_->_this (env),
+ ACE_TRY_ENV);
+ this->vdev_->define_property ("Related_MediaCtrl",
+ media_ctrl_property,
+ ACE_TRY_ENV);
+ TAO_CHECK_ENV_RETURN (env,-1);
+
+ // Register the vdev with the naming server.
+ this->naming_context_->bind (this->vdev_name_,
+ this->vdev_->_this (env),
+ ACE_TRY_ENV);
+
+ // If the object was already there, replace the older reference
+ // with this one
+ if (env.exception () != 0)
{
- // If the object was already there, replace the older reference
- // with this one
+ env.clear ();
this->naming_context_->rebind (this->vdev_name_,
- vdev_obj,
+ this->vdev_->_this (env),
ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"TAO_AV_Child_Process::register_vdev");
- return -1;
+ TAO_CHECK_ENV_RETURN (env, -1);
}
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
+
return 0;
}
@@ -520,7 +468,6 @@ int
TAO_AV_Child_Process <T_StreamEndpoint_B, T_VDev, T_MediaCtrl>::run (ACE_Time_Value *tv)
{
int result;
- ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
result = this->orb_manager_.run (ACE_TRY_ENV,tv);
@@ -543,7 +490,7 @@ TAO_AV_Child_Process <T_StreamEndpoint_B, T_VDev, T_MediaCtrl>::release_semapho
char sem_str [BUFSIZ];
sprintf (sem_str,
- "%s:%s:%ld",
+ "%s:%s:%d",
"TAO_AV_Process_Semaphore",
this->host_,
this->pid_);
@@ -572,37 +519,24 @@ template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
int
TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::register_stream_endpoint (CORBA::Environment &ACE_TRY_ENV)
{
- CORBA::Object_ptr stream_endpoint_obj = CORBA::Object::_nil ();
- ACE_TRY
- {
- stream_endpoint_obj = this->stream_endpoint_->_this (ACE_TRY_ENV);
- ACE_TRY_CHECK;
- this->stream_endpoint_->_remove_ref (ACE_TRY_ENV);
- ACE_TRY_CHECK;
- // ACE_DEBUG ((LM_DEBUG, "(%P|%t) %s:%d\n", __FILE__, __LINE__));
- // Create a name for the video control object
- // subclasses can define their own name for the streamendpoint
- // Register the stream endpoint object with the naming server.
- this->naming_context_->bind (this->stream_endpoint_name_,
- stream_endpoint_obj,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCH (CosNaming::NamingContext::AlreadyBound,ex)
+ // ACE_DEBUG ((LM_DEBUG, "(%P|%t) %s:%d\n", __FILE__, __LINE__));
+ // Create a name for the video control object
+ // subclasses can define their own name for the streamendpoint
+ // Register the stream endpoint object with the naming server.
+ this->naming_context_->bind (this->stream_endpoint_name_,
+ this->stream_endpoint_->_this (env),
+ ACE_TRY_ENV);
+
+ // if the name was already there, replace the reference with the new one
+ if (env.exception () != 0)
{
- // if the name was already there, replace the reference with the new one
+ env.clear ();
this->naming_context_->rebind (this->stream_endpoint_name_,
- stream_endpoint_obj,
+ this->stream_endpoint_->_this (env),
ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_TRY_ENV.print_exception ("TAO_Endpoint_Reactive_Strategy::activate");
- return -1;
+ TAO_CHECK_ENV_RETURN (env, -1);
}
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
+
return 0;
}
@@ -646,12 +580,11 @@ TAO_AV_Child_Process<T_StreamEndpoint, T_VDev, T_MediaCtrl>::make_mediactrl (T_M
// For now, we dont delete the objects, since they exist for the
// lifetime of the process anyway
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
-TAO_AV_Child_Process<T_StreamEndpoint, T_VDev, T_MediaCtrl>::~TAO_AV_Child_Process ()
+TAO_AV_Child_Process <T_StreamEndpoint, T_VDev, T_MediaCtrl>::~TAO_AV_Child_Process ()
{
// Remove the names from the naming service
if (CORBA::is_nil (this->naming_context_.in ()) == 0)
return;
- ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
this->naming_context_->unbind (this->stream_endpoint_name_,
@@ -683,7 +616,7 @@ TAO_AV_Child_Process<T_StreamEndpoint, T_VDev, T_MediaCtrl>::~TAO_AV_Child_Proce
// Define the name of the stream_endpoint, as used to register with
// the naming service
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
-TAO_AV_Child_Process_A<T_StreamEndpoint, T_VDev, T_MediaCtrl>::TAO_AV_Child_Process_A ()
+TAO_AV_Child_Process_A <T_StreamEndpoint, T_VDev, T_MediaCtrl>::TAO_AV_Child_Process_A ()
{
char stream_endpoint_name[BUFSIZ];
ACE_OS::sprintf (stream_endpoint_name,
@@ -709,7 +642,7 @@ TAO_AV_Child_Process_A <T_StreamEndpoint, T_VDev, T_MediaCtrl>::~TAO_AV_Child_P
// Define the name of the stream_endpoint, as used to register with
// the naming service
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
-TAO_AV_Child_Process_B<T_StreamEndpoint, T_VDev, T_MediaCtrl>::TAO_AV_Child_Process_B ()
+TAO_AV_Child_Process_B <T_StreamEndpoint, T_VDev, T_MediaCtrl>::TAO_AV_Child_Process_B ()
{
char stream_endpoint_name[BUFSIZ];
ACE_OS::sprintf (stream_endpoint_name,
@@ -724,7 +657,7 @@ TAO_AV_Child_Process_B<T_StreamEndpoint, T_VDev, T_MediaCtrl>::TAO_AV_Child_Proc
}
template <class T_StreamEndpoint, class T_VDev , class T_MediaCtrl>
-TAO_AV_Child_Process_B<T_StreamEndpoint, T_VDev, T_MediaCtrl>::~TAO_AV_Child_Process_B ()
+TAO_AV_Child_Process_B <T_StreamEndpoint, T_VDev, T_MediaCtrl>::~TAO_AV_Child_Process_B ()
{
}