diff options
author | Marc Laukien <marc@zeroc.com> | 2001-08-16 11:26:24 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2001-08-16 11:26:24 +0000 |
commit | 73e01bb42f2f75a8dbea664a664e1a19e74c28c3 (patch) | |
tree | 401359fe34493546e28880e82e6fd4629cde8eb7 /cpp/src/IcePack/Client.cpp | |
parent | fixes (diff) | |
download | ice-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.cpp | 33 |
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; |