cam: options: Drop some OptionValue cast operators

While OptionValue cast operators to int and std::string allow useful
shortcut syntaxes, the cast operators to KeyValueParser::Options and
std::vector<OptionValue> are less useful. A an explicit static_cast call
would be more cumbersome to write than an explicit .toKeyValues() or
toArray(), and implicit cast hide too much of what's going on.

Drop those two cast operators, and replace the only implicit cast
occurrence with .toKeyValues(). While at it, drop the local opts
variable in StreamKeyValueParser::roles() as it isn't used.

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-07 04:02:07 +03:00
parent bb682d2585
commit 668c87732a
3 changed files with 1 additions and 24 deletions

View File

@@ -603,26 +603,6 @@ OptionValue::operator std::string() const
return toString();
}
/**
* \brief Cast the value to a key-value list
* \return The option value as a KeyValueParser::Options, or an empty list if
* the value type isn't ValueType::ValueKeyValue
*/
OptionValue::operator KeyValueParser::Options() const
{
return toKeyValues();
}
/**
* \brief Cast the value to an array
* \return The option value as a std::vector of OptionValue, or an empty vector
* if the value type isn't ValueType::ValueArray
*/
OptionValue::operator std::vector<OptionValue>() const
{
return toArray();
}
/**
* \brief Retrieve the value as an int
* \return The option value as an int, or 0 if the value type isn't

View File

@@ -138,8 +138,6 @@ public:
operator int() const;
operator std::string() const;
operator KeyValueParser::Options() const;
operator std::vector<OptionValue>() const;
int toInteger() const;
std::string toString() const;

View File

@@ -48,11 +48,10 @@ StreamRoles StreamKeyValueParser::roles(const OptionValue &values)
StreamRoles roles;
for (auto const &value : streamParameters) {
KeyValueParser::Options opts = value.toKeyValues();
StreamRole role;
/* If role is invalid or not set default to viewfinder. */
if (!parseRole(&role, value))
if (!parseRole(&role, value.toKeyValues()))
role = StreamRole::Viewfinder;
roles.push_back(role);