summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp')
-rw-r--r--TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp b/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp
index 654e3b2a59e..5408bfaf8dd 100644
--- a/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp
+++ b/TAO/CIAO/DAnCE/Plan_Launcher/Plan_Launcher.cpp
@@ -13,6 +13,7 @@ namespace CIAO
{
// deployment plan URL
const char* package_url = 0;
+ const char* new_package_url = 0;
bool use_naming = false;
const char* ior_file = "file://em.ior";
const char* dap_ior_filename = 0;
@@ -37,6 +38,7 @@ namespace CIAO
ACE_TEXT (" Execution Manager IOR Alternative to -k\n")
ACE_TEXT ("-o <DOMAIN_APPLICATION_MANAGER_IOR_OUTPUT_FILE>\n")
ACE_TEXT ("-i <DOMAIN_APPLICATION_MANAGER_IOR_FOR_INPUT>\n")
+ ACE_TEXT ("-r <NEW_PLAN_DESCRIPTOR_FOR_REDEPLOYMENT>\n")
ACE_TEXT ("-h : Show this usage information\n"),
program));
}
@@ -47,7 +49,7 @@ namespace CIAO
{
ACE_Get_Opt get_opt (argc,
argv,
- ACE_TEXT ("p:nk:o:i:h"));
+ ACE_TEXT ("p:nk:o:i:r:h"));
int c;
while ((c = get_opt ()) != EOF)
@@ -71,6 +73,9 @@ namespace CIAO
dap_ior = get_opt.opt_arg ();
mode = pl_mode_stop;
break;
+ case 'r':
+ new_package_url = get_opt.opt_arg ();
+ break;
case 'h':
default:
usage(argv[0]);
@@ -78,7 +83,9 @@ namespace CIAO
}
}
- if ((mode != pl_mode_stop) && (package_url == 0))
+ if ((mode != pl_mode_stop) &&
+ (package_url == 0) &&
+ (new_package_url ==0))
{
usage (argv[0]);
return false;
@@ -147,7 +154,7 @@ namespace CIAO
::Deployment::DomainApplicationManager_var dapp_mgr;
- if (mode != pl_mode_stop)
+ if (mode != pl_mode_stop && new_package_url == 0) // do initial deployment
{
const char* uuid = launcher.launch_plan (package_url);
@@ -171,6 +178,16 @@ namespace CIAO
std::cin.getline (dummy, 256);
}
}
+ else if (mode != pl_mode_stop && new_package_url != 0) // do redeployment
+ {
+ const char* uuid = launcher.re_launch_plan (new_package_url);
+
+ if (uuid == 0)
+ {
+ ACE_ERROR ((LM_ERROR, "(%P|%t) Plan_Launcher: Error re-launching plan\n"));
+ return -1;
+ }
+ }
else
{
dapp_mgr = read_dap_ior (orb.in ()