libcamera: pipeline_handler: Store pipe and camera in CameraData

Extend the CameraData class with two member variables pipe_ and camera_
that store pointers to the pipeline handler and camera that the
CameraData instance is related to. This will be used by pipeline
handlers to access the camera and the pipeline in member methods of
their CameraData derived classes.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart
2019-02-28 12:29:13 +02:00
parent 40439a933f
commit 61a62ddbd8
5 changed files with 63 additions and 15 deletions

View File

@@ -19,6 +19,7 @@ class Camera;
class CameraManager;
class DeviceEnumerator;
class MediaDevice;
class PipelineHandler;
class Request;
class Stream;
class StreamConfiguration;
@@ -26,10 +27,14 @@ class StreamConfiguration;
class CameraData
{
public:
explicit CameraData(PipelineHandler *pipe)
: pipe_(pipe)
{
}
virtual ~CameraData() {}
protected:
CameraData() {}
Camera *camera_;
PipelineHandler *pipe_;
private:
CameraData(const CameraData &) = delete;