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:
parent
031a57bcd2
commit
a45de8e81b
1 changed files with 14 additions and 0 deletions
|
@ -91,6 +91,12 @@ public:
|
||||||
data_.insert(other.data_.begin(), other.data_.end());
|
data_.insert(other.data_.begin(), other.data_.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void erase(std::string const &tag)
|
||||||
|
{
|
||||||
|
std::scoped_lock lock(mutex_);
|
||||||
|
eraseLocked(tag);
|
||||||
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T *getLocked(std::string const &tag)
|
T *getLocked(std::string const &tag)
|
||||||
{
|
{
|
||||||
|
@ -111,6 +117,14 @@ public:
|
||||||
data_[tag] = std::forward<T>(value);
|
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
|
* Note: use of (lowercase) lock and unlock means you can create scoped
|
||||||
* locks with the standard lock classes.
|
* locks with the standard lock classes.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue