libcamera: pipeline_handler: Add const version of cameraData()

Add a version of cameraData() that returns a const pointer and mark it
as a const operation. The assert in the non-const version of the
function already enforces that a std::map::at() operation would always
succeed so there is no change in operation from the non-const version.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2020-08-06 14:32:33 +02:00
parent 27869c5f64
commit ef5f5c4db0
2 changed files with 14 additions and 0 deletions

View file

@ -97,6 +97,7 @@ protected:
virtual int queueRequestDevice(Camera *camera, Request *request) = 0; virtual int queueRequestDevice(Camera *camera, Request *request) = 0;
CameraData *cameraData(const Camera *camera); CameraData *cameraData(const Camera *camera);
const CameraData *cameraData(const Camera *camera) const;
CameraManager *manager_; CameraManager *manager_;

View file

@ -601,6 +601,19 @@ CameraData *PipelineHandler::cameraData(const Camera *camera)
return cameraData_[camera].get(); return cameraData_[camera].get();
} }
/**
* \brief Retrieve the pipeline-specific data associated with a Camera
* \param[in] camera The camera whose data to retrieve
* \sa cameraData()
* \return A const pointer to the pipeline-specific data passed to
* registerCamera().
*/
const CameraData *PipelineHandler::cameraData(const Camera *camera) const
{
ASSERT(cameraData_.count(camera));
return cameraData_.at(camera).get();
}
/** /**
* \var PipelineHandler::manager_ * \var PipelineHandler::manager_
* \brief The Camera manager associated with the pipeline handler * \brief The Camera manager associated with the pipeline handler