ipa: rpi: Add erase()/eraseLocked() to RPiController::Metadata
These functions erase a key/value pair from the metadata object. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
committed by
Kieran Bingham
parent
031a57bcd2
commit
a45de8e81b
@@ -91,6 +91,12 @@ public:
|
||||
data_.insert(other.data_.begin(), other.data_.end());
|
||||
}
|
||||
|
||||
void erase(std::string const &tag)
|
||||
{
|
||||
std::scoped_lock lock(mutex_);
|
||||
eraseLocked(tag);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T *getLocked(std::string const &tag)
|
||||
{
|
||||
@@ -111,6 +117,14 @@ public:
|
||||
data_[tag] = std::forward<T>(value);
|
||||
}
|
||||
|
||||
void eraseLocked(std::string const &tag)
|
||||
{
|
||||
auto it = data_.find(tag);
|
||||
if (it == data_.end())
|
||||
return;
|
||||
data_.erase(it);
|
||||
}
|
||||
|
||||
/*
|
||||
* Note: use of (lowercase) lock and unlock means you can create scoped
|
||||
* locks with the standard lock classes.
|
||||
|
||||
Reference in New Issue
Block a user