mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-19 18:35:07 +03:00
cam: options: Create separate enum for OptionValue types
In preparation for support of multiple instances of the same option, create a separate enum for the OptionValue types as it will diverge from enum OptionType. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
945478dbc0
commit
af45435014
2 changed files with 17 additions and 10 deletions
|
@ -248,27 +248,27 @@ void KeyValueParser::usage(int indent)
|
|||
*/
|
||||
|
||||
OptionValue::OptionValue()
|
||||
: type_(OptionNone)
|
||||
: type_(ValueNone)
|
||||
{
|
||||
}
|
||||
|
||||
OptionValue::OptionValue(int value)
|
||||
: type_(OptionInteger), integer_(value)
|
||||
: type_(ValueInteger), integer_(value)
|
||||
{
|
||||
}
|
||||
|
||||
OptionValue::OptionValue(const char *value)
|
||||
: type_(OptionString), string_(value)
|
||||
: type_(ValueString), string_(value)
|
||||
{
|
||||
}
|
||||
|
||||
OptionValue::OptionValue(const std::string &value)
|
||||
: type_(OptionString), string_(value)
|
||||
: type_(ValueString), string_(value)
|
||||
{
|
||||
}
|
||||
|
||||
OptionValue::OptionValue(const KeyValueParser::Options &value)
|
||||
: type_(OptionKeyValue), keyValues_(value)
|
||||
: type_(ValueKeyValue), keyValues_(value)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -289,7 +289,7 @@ OptionValue::operator KeyValueParser::Options() const
|
|||
|
||||
int OptionValue::toInteger() const
|
||||
{
|
||||
if (type_ != OptionInteger)
|
||||
if (type_ != ValueInteger)
|
||||
return 0;
|
||||
|
||||
return integer_;
|
||||
|
@ -297,7 +297,7 @@ int OptionValue::toInteger() const
|
|||
|
||||
std::string OptionValue::toString() const
|
||||
{
|
||||
if (type_ != OptionString)
|
||||
if (type_ != ValueString)
|
||||
return std::string();
|
||||
|
||||
return string_;
|
||||
|
@ -305,7 +305,7 @@ std::string OptionValue::toString() const
|
|||
|
||||
KeyValueParser::Options OptionValue::toKeyValues() const
|
||||
{
|
||||
if (type_ != OptionKeyValue)
|
||||
if (type_ != ValueKeyValue)
|
||||
return KeyValueParser::Options();
|
||||
|
||||
return keyValues_;
|
||||
|
|
|
@ -79,13 +79,20 @@ private:
|
|||
class OptionValue
|
||||
{
|
||||
public:
|
||||
enum ValueType {
|
||||
ValueNone,
|
||||
ValueInteger,
|
||||
ValueString,
|
||||
ValueKeyValue,
|
||||
};
|
||||
|
||||
OptionValue();
|
||||
OptionValue(int value);
|
||||
OptionValue(const char *value);
|
||||
OptionValue(const std::string &value);
|
||||
OptionValue(const KeyValueParser::Options &value);
|
||||
|
||||
OptionType type() const { return type_; }
|
||||
ValueType type() const { return type_; }
|
||||
|
||||
operator int() const;
|
||||
operator std::string() const;
|
||||
|
@ -96,7 +103,7 @@ public:
|
|||
KeyValueParser::Options toKeyValues() const;
|
||||
|
||||
private:
|
||||
OptionType type_;
|
||||
ValueType type_;
|
||||
int integer_;
|
||||
std::string string_;
|
||||
KeyValueParser::Options keyValues_;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue