From 539820f5d63db5e3045306fcdc70d32157fa8b28 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 6 Jul 2021 05:27:18 +0300 Subject: cam: options: Move OptionValue class after OptionsParser To prepare for usage of the OptionsParser::Options class in OptionValue, move the definition of the OptionValue class after OptionsParser. There is no functional change. Signed-off-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- src/cam/options.h | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) (limited to 'src') diff --git a/src/cam/options.h b/src/cam/options.h index 688fe260..a3b18bb6 100644 --- a/src/cam/options.h +++ b/src/cam/options.h @@ -74,6 +74,33 @@ private: std::map optionsMap_; }; +class OptionsParser +{ +public: + class Options : public OptionsBase + { + }; + + OptionsParser(); + ~OptionsParser(); + + bool addOption(int opt, OptionType type, const char *help, + const char *name = nullptr, + OptionArgument argument = ArgumentNone, + const char *argumentName = nullptr, bool array = false); + bool addOption(int opt, KeyValueParser *parser, const char *help, + const char *name = nullptr, bool array = false); + + Options parse(int argc, char *argv[]); + void usage(); + +private: + void parseValueError(const Option &option); + + std::list