libcamera: request: Make metadata_ a class instance

The metadata_ member variable is a pointer, for no specific reason.
Make it an instance and simplify the class constructor and destructor.

Suggested-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
This commit is contained in:
Jacopo Mondi
2025-12-02 15:03:13 +01:00
parent dce2ef36f2
commit 06d16fd805
2 changed files with 7 additions and 10 deletions
+5 -8
View File
@@ -53,20 +53,17 @@ LOG_DEFINE_CATEGORY(Request)
/**
* \brief Create a Request::Private
* \param camera The Camera that creates the request
*
* \todo Add a validator for metadata controls.
*/
Request::Private::Private(Camera *camera)
: camera_(camera), cancelled_(false)
: camera_(camera), cancelled_(false), metadata_(controls::controls)
{
/**
* \todo Add a validator for metadata controls.
*/
metadata_ = new ControlList(controls::controls);
}
Request::Private::~Private()
{
doCancelRequest();
delete metadata_;
}
/**
@@ -410,7 +407,7 @@ void Request::reuse(ReuseFlag flags)
status_ = RequestPending;
controls_->clear();
_d()->metadata_->clear();
_d()->metadata_.clear();
}
/**
@@ -435,7 +432,7 @@ void Request::reuse(ReuseFlag flags)
*/
const ControlList &Request::metadata() const
{
return *_d()->metadata_;
return _d()->metadata_;
}
/**