diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-02-27 22:45:32 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-03-06 20:25:01 (GMT) |
commit | 27d21b371f24272466a2d6a5bf2e2b717ee2d9fc (patch) | |
tree | 5f53281711d4f467933e4b3315241e4eee58a64c /Swiftob/main.cpp | |
parent | d9c9df3b4ae5432552417fc4db74d62ab34f066d (diff) | |
download | swift-27d21b371f24272466a2d6a5bf2e2b717ee2d9fc.zip swift-27d21b371f24272466a2d6a5bf2e2b717ee2d9fc.tar.bz2 |
A start on Swiftob, a Swiften-based chatbot.
Diffstat (limited to 'Swiftob/main.cpp')
-rw-r--r-- | Swiftob/main.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Swiftob/main.cpp b/Swiftob/main.cpp new file mode 100644 index 0000000..9908b45 --- /dev/null +++ b/Swiftob/main.cpp @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2011 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <boost/program_options/options_description.hpp> +#include <boost/program_options/variables_map.hpp> +#include <boost/program_options.hpp> +#include <boost/version.hpp> +#include <iostream> + +#include "Swiftob.h" + +int main(int argc, char* argv[]) { + boost::program_options::options_description desc = Swiftob::getOptionsDescription(); + boost::program_options::variables_map vm; + try { + boost::program_options::store(boost::program_options::parse_command_line(argc, argv, desc), vm); + } catch (boost::program_options::unknown_option option) { +#if BOOST_VERSION >= 104200 + std::cout << "Ignoring unknown option " << option.get_option_name() << " but continuing." << std::endl; +#else + std::cout << "Error: " << option.what() << " (continuing)" << std::endl; +#endif + } + boost::program_options::notify(vm); + if (vm.count("help") > 0) { + std::cout << desc << "\n"; + return 1; + } + + Swiftob bot(vm); + int result = bot.exec(); + + return result; +} |