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 <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Laurent Pinchart
2021-07-06 05:27:18 +03:00
parent b938911884
commit 539820f5d6

View File

@@ -74,6 +74,33 @@ private:
std::map<std::string, Option> optionsMap_;
};
class OptionsParser
{
public:
class Options : public OptionsBase<int>
{
};
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<Option> options_;
std::map<unsigned int, Option *> optionsMap_;
};
class OptionValue
{
public:
@@ -113,31 +140,4 @@ private:
std::vector<OptionValue> array_;
};
class OptionsParser
{
public:
class Options : public OptionsBase<int>
{
};
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<Option> options_;
std::map<unsigned int, Option *> optionsMap_;
};
#endif /* __CAM_OPTIONS_H__ */