diff options
author | Michi Henning <michi@zeroc.com> | 2007-02-08 03:47:33 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2007-02-08 03:47:33 +0000 |
commit | b97e1dc601473c56a5c13ce5438e4f7f3514a285 (patch) | |
tree | cba3b8a70f17290b42d7c2f61ab96339eab7524d /cpp/src/Ice/Application.cpp | |
parent | 3.2b update (diff) | |
download | ice-b97e1dc601473c56a5c13ce5438e4f7f3514a285.tar.bz2 ice-b97e1dc601473c56a5c13ce5438e4f7f3514a285.tar.xz ice-b97e1dc601473c56a5c13ce5438e4f7f3514a285.zip |
Bug 1337.
Diffstat (limited to 'cpp/src/Ice/Application.cpp')
-rw-r--r-- | cpp/src/Ice/Application.cpp | 84 |
1 files changed, 53 insertions, 31 deletions
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp index adcd5ddfb69..018400a5579 100644 --- a/cpp/src/Ice/Application.cpp +++ b/cpp/src/Ice/Application.cpp @@ -11,6 +11,7 @@ #include <IceUtil/StaticMutex.h> #include <IceUtil/CtrlCHandler.h> #include <IceUtil/Cond.h> +#include <IceUtil/ArgVector.h> #include <Ice/GC.h> #include <memory> @@ -321,37 +322,6 @@ Ice::Application::main(int argc, char* argv[], const char* configFile) int -Ice::Application::main(int argc, char* argv[], const char* configFile, const Ice::LoggerPtr& logger) -{ - InitializationData initData; - if(configFile) - { - try - { - initData.properties = createProperties(); - initData.properties->load(configFile); - } - catch(const IceUtil::Exception& ex) - { - cerr << argv[0] << ": " << ex << endl; - return EXIT_FAILURE; - } - catch(const std::exception& ex) - { - cerr << argv[0] << ": std::exception: " << ex.what() << endl; - return EXIT_FAILURE; - } - catch(...) - { - cerr << argv[0] << ": unknown exception" << endl; - return EXIT_FAILURE; - } - } - initData.logger = logger; - return main(argc, argv, initData); -} - -int Ice::Application::main(int argc, char* argv[], const InitializationData& initData) { if(_communicator != 0) @@ -488,6 +458,58 @@ Ice::Application::main(int argc, char* argv[], const InitializationData& initDat return status; } +int +Ice::Application::main(int argc, char* argv[], const char* configFile, const Ice::LoggerPtr& logger) +{ + InitializationData initData; + if(configFile) + { + try + { + initData.properties = createProperties(); + initData.properties->load(configFile); + } + catch(const IceUtil::Exception& ex) + { + cerr << argv[0] << ": " << ex << endl; + return EXIT_FAILURE; + } + catch(const std::exception& ex) + { + cerr << argv[0] << ": std::exception: " << ex.what() << endl; + return EXIT_FAILURE; + } + catch(...) + { + cerr << argv[0] << ": unknown exception" << endl; + return EXIT_FAILURE; + } + } + initData.logger = logger; + return main(argc, argv, initData); +} + +int +Ice::Application::main(const StringSeq& args) +{ + ArgVector av(args); + return main(av.argc, av.argv); +} + +int +Ice::Application::main(const StringSeq& args, const char* configFile) +{ + ArgVector av(args); + return main(av.argc, av.argv, configFile); +} + +int +Ice::Application::main(const StringSeq& args, const InitializationData& initData) +{ + ArgVector av(args); + return main(av.argc, av.argv, initData); +} + void Ice::Application::interruptCallback(int) { |