aboutsummaryrefslogtreecommitdiff
path: root/src/configuration.cpp
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-01-27 13:44:22 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2018-01-27 13:44:22 +0100
commitce050716c2e4f1dd56fbd3fa3290bfe258ea1af6 (patch)
tree08fd568718b2d664003ae65513b940942a808b0e /src/configuration.cpp
parentUsing boost::program_options instead of libconfig (diff)
downloadsmolbote-ce050716c2e4f1dd56fbd3fa3290bfe258ea1af6.tar.xz
Passing unknown command line parameters to the Configuration
- no longer compiling CookiesForm that we don't use
Diffstat (limited to 'src/configuration.cpp')
-rw-r--r--src/configuration.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 4e72d18..c114155 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -12,7 +12,7 @@
namespace po = boost::program_options;
-Configuration::Configuration(const QStringList &options)
+Configuration::Configuration()
{
m_homePath = QStandardPaths::writableLocation(QStandardPaths::HomeLocation).toStdString();
@@ -81,20 +81,13 @@ Configuration::Configuration(const QStringList &options)
// store the defaults into the vm
{
- int argc = options.length();
- const char* argv[argc];
- for(int i = 0; i < argc; ++i) {
- argv[i] = qUtf8Printable(options.at(i));
- }
-
- po::store(po::parse_command_line(argc, argv, desc), vm);
+ const char* argv[0];
+ po::store(po::parse_command_line(0, argv, desc), vm);
}
}
-Configuration::~Configuration()
-{
-}
+Configuration::~Configuration() = default;
bool Configuration::read(const QString &path)
{
@@ -103,3 +96,13 @@ bool Configuration::read(const QString &path)
return true;
}
+bool Configuration::parse(int argc, const char **argv)
+{
+ try {
+ po::store(po::parse_command_line(argc, argv, desc), vm);
+ } catch (const po::error &e) {
+ return false;
+ }
+
+ return true;
+}