From 1f99618ba56f6ba85af4007fbad47e9a97c73610 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Tue, 26 Aug 2025 14:36:39 +0200 Subject: [PATCH] Add helper functions -> QCommandLineParser reported some warnings --- common/include/commandline_parser.h | 81 +++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 common/include/commandline_parser.h diff --git a/common/include/commandline_parser.h b/common/include/commandline_parser.h new file mode 100644 index 0000000..990e9c8 --- /dev/null +++ b/common/include/commandline_parser.h @@ -0,0 +1,81 @@ +#ifndef COMMAND_LINE_PARSER_H_INCLUDED +#define COMMAND_LINE_PARSER_H_INCLUDED + +#include +#include +#include +#include + +class CommandLineParser : public QCommandLineParser { + QString m_repositoryUrl; + QString m_plugInDir; + QString m_plugInName; + QString m_workingDir; + QString m_psaConfigDir{"etc/psa_config"}; + QString m_psaTariffDir{"etc/psa_tariff"}; + QString m_dryRun; + QString m_noUpdatePsaHardware; + QString m_showYoctoVersion; + QString m_showYoctoInstallStatus; + QString m_showExtendedVersion; + QString m_iniFileName; + QString m_alwaysDownloadConfig; + QString m_alwaysDownloadDC; + QString m_readDCVersion{"false"}; + QString m_dcDir{"etc/dc/"}; + qint64 m_ppid; + + QCommandLineOption m_repositoryUrlOption; + QCommandLineOption m_iniFileDirectoryOption; + QCommandLineOption m_iniFileNameOption; + QCommandLineOption m_pluginDirectoryOption; + QCommandLineOption m_pluginNameOption; + QCommandLineOption m_noDownloadOption; + QCommandLineOption m_alwaysDownloadConfigOption; + QCommandLineOption m_alwaysDownloadDCOption; + QCommandLineOption m_workingDirectoryOption; + QCommandLineOption m_psaConfigDirectoryOption; + QCommandLineOption m_psaTariffDirectoryOption; + QCommandLineOption m_dryRunOption; + QCommandLineOption m_extendedVersionOption; + QCommandLineOption m_yoctoVersionOption; + QCommandLineOption m_yoctoInstallStatusOption; + QCommandLineOption m_dcDirectoryOption; + QCommandLineOption m_readDCVersionOption; + QCommandLineOption m_setPPid; + + QCommandLineParser m_parser; + + void configure(); + +public: + + explicit CommandLineParser(); + ~CommandLineParser() = default; + + QCommandLineParser &parser() { return m_parser; } + QCommandLineParser const &parser() const { return m_parser; } + void process(const QCoreApplication &app) { m_parser.process(app); } + bool isSet(QCommandLineOption const &o) { return m_parser.isSet(o); } + bool isSet(QString const& s) {return m_parser.isSet(s); } + bool addOption(QCommandLineOption const &o) { return m_parser.addOption(o); } + QString const &iniFileName() const { return m_iniFileName; } + void readSettings(); + QString repositoryUrl(); + QString plugInDir(); + QString plugInName(); + QString workingDir(); + QString psaConfigDir(); + QString psaTariffDir(); + bool dryRun(); + qint64 ppid(); + bool noUpdatePsaHardware(); + bool yoctoVersion(); + bool yoctoInstallStatus(); + bool extendedVersion(); + bool alwaysDownloadConfig(); + bool alwaysDownloadDC(); + bool readDCVersion(); + QString dcDir(); +}; +#endif // COMMAND_LINE_PARSER_H_INCLUDED