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:
@@ -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__ */
|
||||
|
||||
Reference in New Issue
Block a user