summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/NodeManager/NodeManager_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/NodeManager/NodeManager_Impl.cpp')
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NodeManager_Impl.cpp28
1 files changed, 21 insertions, 7 deletions
diff --git a/TAO/CIAO/DAnCE/NodeManager/NodeManager_Impl.cpp b/TAO/CIAO/DAnCE/NodeManager/NodeManager_Impl.cpp
index 4980b26ef2c..31ac4a31485 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NodeManager_Impl.cpp
+++ b/TAO/CIAO/DAnCE/NodeManager/NodeManager_Impl.cpp
@@ -149,6 +149,14 @@ CIAO::NodeManager_Impl_Base::preparePlan (const Deployment::DeploymentPlan &plan
ACE_TRY_CHECK;
this->map_.insert_nam (plan.UUID.in (), oid.in ());
+
+ CORBA::Object_var obj =
+ this->poa_->id_to_reference (this->map_.get_nam (plan.UUID.in ()));
+ ACE_TRY_CHECK;
+
+ // narrow should return a nil reference if it fails.
+ return
+ Deployment::NodeApplicationManager::_narrow (obj.in ());
}
else
{
@@ -158,16 +166,22 @@ CIAO::NodeManager_Impl_Base::preparePlan (const Deployment::DeploymentPlan &plan
"with UUID: %s\n",
plan.UUID.in ()));
}
- }
+ CORBA::Object_var obj =
+ this->poa_->id_to_reference (this->map_.get_nam (plan.UUID.in ()));
+ ACE_TRY_CHECK;
+
+ Deployment::NodeApplicationManager_var nam =
+ Deployment::NodeApplicationManager::_narrow (obj.in ());
+ ACE_TRY_CHECK;
- CORBA::Object_var obj =
- this->poa_->id_to_reference (this->map_.get_nam (plan.UUID.in ()));
- ACE_TRY_CHECK;
+ nam->reset_plan (plan);
+ ACE_TRY_CHECK;
- // narrow should return a nil reference if it fails.
- return
- Deployment::NodeApplicationManager::_narrow (obj.in ());
+ // Potentially we could reset many other configuration settings
+ // such as command line options, service configuration file, etc.
+ return nam._retn ();
+ }
}
ACE_CATCH (PortableServer::POA::ObjectNotActive, ex)
{