summaryrefslogtreecommitdiff
path: root/cpp/src/IcePack/Client.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-08-16 11:26:24 +0000
committerMarc Laukien <marc@zeroc.com>2001-08-16 11:26:24 +0000
commit73e01bb42f2f75a8dbea664a664e1a19e74c28c3 (patch)
tree401359fe34493546e28880e82e6fd4629cde8eb7 /cpp/src/IcePack/Client.cpp
parentfixes (diff)
downloadice-73e01bb42f2f75a8dbea664a664e1a19e74c28c3.tar.bz2
ice-73e01bb42f2f75a8dbea664a664e1a19e74c28c3.tar.xz
ice-73e01bb42f2f75a8dbea664a664e1a19e74c28c3.zip
IcePack/simple
Diffstat (limited to 'cpp/src/IcePack/Client.cpp')
-rw-r--r--cpp/src/IcePack/Client.cpp33
1 files changed, 25 insertions, 8 deletions
diff --git a/cpp/src/IcePack/Client.cpp b/cpp/src/IcePack/Client.cpp
index a2d94c3d1d5..85462a61fdf 100644
--- a/cpp/src/IcePack/Client.cpp
+++ b/cpp/src/IcePack/Client.cpp
@@ -19,7 +19,7 @@ using namespace IcePack;
void
usage(const char* n)
{
- cerr << "Usage: " << n << " [options] add|remove reference...\n";
+ cerr << "Usage: " << n << " [options] add reference...|remove reference...|shutdown\n";
cerr <<
"Options:\n"
"-h, --help Show this message.\n"
@@ -50,13 +50,6 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
string cmd = argv[1];
- if (argc < 3)
- {
- cerr << argv[0] << ": no reference" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
- }
-
Ice::ObjectPrx adminBase = communicator->stringToProxy("admin:" + adminEndpoints);
AdminPrx admin = AdminPrx::checkedCast(adminBase);
if (!admin)
@@ -67,6 +60,13 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
if (cmd == "add")
{
+ if (argc < 3)
+ {
+ cerr << argv[0] << ": no reference" << endl;
+ usage(argv[0]);
+ return EXIT_FAILURE;
+ }
+
for (int i = 2; i < argc; ++i)
{
ServerDescriptionPtr desc = new ServerDescription;
@@ -76,11 +76,28 @@ run(int argc, char* argv[], CommunicatorPtr communicator)
}
else if (cmd == "remove")
{
+ if (argc < 3)
+ {
+ cerr << argv[0] << ": no reference" << endl;
+ usage(argv[0]);
+ return EXIT_FAILURE;
+ }
+
for (int i = 2; i < argc; ++i)
{
admin->remove(communicator->stringToProxy(argv[i]));
}
}
+ else if (cmd == "shutdown")
+ {
+ if (argc > 2)
+ {
+ usage(argv[0]);
+ return EXIT_FAILURE;
+ }
+
+ admin->shutdown();
+ }
else
{
cerr << argv[0] << ": invalid command `" << cmd << "'" << endl;