diff options
author | Chris Wilson <chris+github@qwirx.com> | 2012-01-22 16:17:36 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2012-01-22 16:17:36 +0000 |
commit | 40c8d56ebf63f2584f49899e30a1ad950d81a8fd (patch) | |
tree | 6c8f44afd79f1325c080966f8f92c87e34c6769a /lib/server/Daemon.cpp | |
parent | dea24ce69f88e2e28dce35aacaba83c90adb6cff (diff) |
Split option processing out of Daemon::Main() to ease use of Daemon class in tests.
Diffstat (limited to 'lib/server/Daemon.cpp')
-rw-r--r-- | lib/server/Daemon.cpp | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/lib/server/Daemon.cpp b/lib/server/Daemon.cpp index dfd2150a..c5431f3a 100644 --- a/lib/server/Daemon.cpp +++ b/lib/server/Daemon.cpp @@ -329,10 +329,32 @@ int Daemon::Main(const std::string& rDefaultConfigFile, int argc, mConfigFileName = rDefaultConfigFile; mAppName = argv[0]; + int ret = ProcessOptions(argc, argv); + if (ret != 0) + { + return ret; + } + + return Main(mConfigFileName); +} + +// -------------------------------------------------------------------------- +// +// Function +// Name: Daemon::ProcessOptions(int argc, const char *argv[]) +// Purpose: Parses command-line options. Useful when you have +// a local Daemon object and don't intend to fork() +// or call Main(). +// Created: 2008/11/04 +// +// -------------------------------------------------------------------------- + +int Daemon::ProcessOptions(int argc, const char *argv[]) +{ #ifdef BOX_RELEASE_BUILD - mLogLevel = Log::NOTICE; // need an int to do math with + mLogLevel = Log::NOTICE; #else - mLogLevel = Log::INFO; // need an int to do math with + mLogLevel = Log::INFO; #endif if (argc == 2 && strcmp(argv[1], "/?") == 0) @@ -393,7 +415,7 @@ int Daemon::Main(const std::string& rDefaultConfigFile, int argc, new FileLogger(mLogFile, mLogFileLevel)); } - return Main(mConfigFileName); + return 0; } // -------------------------------------------------------------------------- |