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:
Naushir Patuck 2025-01-08 11:09:34 +00:00 committed by Kieran Bingham
parent 031a57bcd2
commit a45de8e81b

View file

@ -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.