summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp')
-rw-r--r--TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp b/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp
index d695ab38062..b10bf6fd51d 100644
--- a/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp
+++ b/TAO/CIAO/DAnCE/TargetManager/CmpClient.cpp
@@ -9,6 +9,7 @@
* TM to getAllResources and getAvailable resources
*/
+#include "Deployment_DataC.h"
#include "TargetManagerC.h"
#include "ace/streams.h"
#include "Config_Handlers/DnC_Dump.h"
@@ -63,6 +64,88 @@ int main (int argc, char* argv[])
ACE_DEBUG((LM_DEBUG ,"Error:TargetManager:Exception in TargetManager call\n"));
}
+
+ // make a call to the commit resources .....
+
+
+ Deployment::DeploymentPlan plan;
+
+ plan.instance.length (1);
+
+ ::Deployment::InstanceDeploymentDescription instance_;
+ instance_.node = CORBA::string_dup ("Delta");
+ instance_.deployedResource.length (1);
+ instance_.deployedResource[0].requirementName =
+ CORBA::string_dup ("Processor");
+ instance_.deployedResource[0].resourceName =
+ CORBA::string_dup ("CPULoad");
+
+ instance_.deployedResource[0].property.length (1);
+ instance_.deployedResource[0].property[0].name =
+ CORBA::string_dup ("LoadAverage");
+ CORBA::Double d = 20;
+ instance_.deployedResource[0].property[0].value <<= d;
+
+ plan.instance[0] = instance_;
+
+ bool resource_available = 1;
+
+ try
+ {
+ targetI->commitResources(plan);
+ ACE_DEBUG ((LM_DEBUG , "\n\ncommitResources Returned \n"));
+ }
+ catch(CORBA::NO_IMPLEMENT &)
+ {
+ cerr << "Error:TargetManager:CORBA::NO_IMPLEMENT thrown" << endl;
+ }
+ catch (Deployment::ResourceNotAvailable & e)
+ {
+ resource_available = 0;
+ cout << "TargetManager commitResources ResourceNotAvailable Exception" <<endl;
+
+ ACE_DEBUG ((LM_DEBUG ,
+ "ResourceNotAvailable\n name=[%s]\n elementName=[%s]\n resourceName=[%s]\n \
+ resourceType= [%s]\n propertyName=[%s]\n",
+ e.name.in (),
+ e.elementName.in (),
+ e.resourceName.in (),
+ e.resourceType.in (),
+ e.propertyName.in ()));
+ }
+ catch(CORBA::Exception & ex)
+ {
+ cout << "Error:TargetManager:commitResources Exception" <<endl;
+ cout << "Error:TargetManager:CORBA Generic Exception " << endl;
+ cerr << "Error:TargetManager:Exception in TargetManager call" << ex << endl;
+ }
+
+
+ // Make a call to release resources , if resource < 0
+ try
+ {
+ if (resource_available == 0)
+ {
+ targetI->releaseResources(plan);
+ ACE_DEBUG ((LM_DEBUG , "\n\nreleaseResources Returned \n"));
+ }
+ }
+ catch(CORBA::NO_IMPLEMENT &)
+ {
+ cerr << "Error:TargetManager:CORBA::NO_IMPLEMENT thrown" << endl;
+ }
+ catch (Deployment::ResourceNotAvailable & e)
+ {
+ cout << "Error:TargetManager releaseResources ResourceNotAvailable Exception" <<endl;
+ }
+ catch(CORBA::Exception & ex)
+ {
+ cout << "Error:TargetManager:releaseResources Exception" <<endl;
+ cout << "Error:TargetManager:CORBA Generic Exception " << endl;
+ cerr << "Error:TargetManager:Exception in TargetManager call" << ex << endl;
+ }
+
+
// Now make a call of getAvailableResources on the TargetManager ...
try
{