From 905c59a988010c9db7f64ee90f9d0b6e1011f0d0 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Wed, 6 Dec 2006 08:11:57 +0000 Subject: Patch sumbitted to qpid-dev: 2006-12-05 Jim Meyering Improve --help output. Add --version option. * lib/broker/Configuration.cpp: Include . (Configuration::Configuration): Use the active voice. Handle --version. (Configuration::usage): Add Usage:... and bug-reporting address. Output short+long options like "-o, --option ...", so that help2man will format them properly. * lib/broker/Configuration.h: (class Configuration) [version, programName]: New members. (parse): Update prototype. (isVersion, setValue): New prototypes. * src/qpidd.cpp: Include . (programName): New file-scoped global. (handle_signal, main): Emit diagnostics to stderr. (main): Pass program name to config.parse. (main): Handle new --version option. Also updated ConfigurationTest to use the modified parse() method. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@482958 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpidd.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'cpp/src') diff --git a/cpp/src/qpidd.cpp b/cpp/src/qpidd.cpp index 0cfa3207ff..8285f1aefb 100644 --- a/cpp/src/qpidd.cpp +++ b/cpp/src/qpidd.cpp @@ -7,9 +7,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -23,6 +23,9 @@ #include #include #include +#include + +static char const* programName = "qpidd"; using namespace qpid::broker; using namespace qpid::sys; @@ -30,7 +33,7 @@ using namespace qpid::sys; Broker::shared_ptr broker; void handle_signal(int /*signal*/){ - std::cout << "Shutting down..." << std::endl; + std::cerr << "Shutting down..." << std::endl; broker->shutdown(); } @@ -38,9 +41,12 @@ int main(int argc, char** argv) { Configuration config; try { - config.parse(argc, argv); + config.parse(programName, argc, argv); if(config.isHelp()){ config.usage(); + }else if(config.isVersion()){ + std::cout << programName << " (" << PACKAGE_NAME << ") version " + << PACKAGE_VERSION << std::endl; }else{ broker = Broker::create(config); signal(SIGINT, handle_signal); @@ -48,7 +54,7 @@ int main(int argc, char** argv) } return 0; } catch(const std::exception& e) { - std::cout << e.what() << std::endl; + std::cerr << e.what() << std::endl; } return 1; } -- cgit v1.2.1