aboutsummaryrefslogtreecommitdiff
path: root/lib/configuration/configuration.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/configuration/configuration.h')
-rw-r--r--lib/configuration/configuration.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/lib/configuration/configuration.h b/lib/configuration/configuration.h
index 5b59766..5bb9f5d 100644
--- a/lib/configuration/configuration.h
+++ b/lib/configuration/configuration.h
@@ -23,10 +23,8 @@ public:
explicit Configuration();
~Configuration();
- static QString defaultUserConfigLocation();
-
- bool read(const QString &path);
- bool parse(int argc, char **argv);
+ bool parseConfigFile(const std::string &path);
+ bool parseCommandLine(int argc, char **argv);
template <typename T>
std::optional<T> value(const char *path) const
@@ -66,13 +64,26 @@ public:
const std::vector<boost::shared_ptr<boost::program_options::option_description>> &options()
{
- return desc.options();
+ return configuration_desc.options();
}
QHash<QString, QString> section(const std::string &prefix) const;
+ QStringList positionalArguments() const
+ {
+ QStringList l;
+ if(vm.count("url")) {
+ std::vector<std::string> urls = vm["url"].as<std::vector<std::string>>();
+ for(const std::string &s : urls) {
+ l.append(QString::fromStdString(s));
+ }
+ }
+ return l;
+ }
private:
- boost::program_options::options_description desc;
+ boost::program_options::options_description commandLine_desc;
+ boost::program_options::options_description configuration_desc;
+ boost::program_options::positional_options_description arguments_desc;
boost::program_options::variables_map vm;
std::string m_homePath;