libcamera  v0.4.0
Supporting cameras in Linux since 2019
Public Member Functions | Public Attributes | List of all members
libcamera::Camera::Private Class Reference

Base class for camera private data. More...

Inheritance diagram for libcamera::Camera::Private:
Inheritance graph
[legend]
Collaboration diagram for libcamera::Camera::Private:
Collaboration graph
[legend]

Public Member Functions

 Private (PipelineHandler *pipe)
 Construct a Camera::Private instance. More...
 
PipelineHandlerpipe ()
 Retrieve the pipeline handler related to this camera. More...
 
const PipelineHandlerpipe () const
 Retrieve the pipeline handler related to this camera. More...
 
const CameraControlValidatorvalidator () const
 Retrieve the control validator related to this camera. More...
 
- Public Member Functions inherited from libcamera::Extensible::Private
 Private ()
 Construct an instance of an Extensible class private data.
 

Public Attributes

std::list< Request * > queuedRequests_
 The list of queued and not yet completed requests. More...
 
ControlInfoMap controlInfo_
 The set of controls supported by the camera. More...
 
ControlList properties_
 The list of properties supported by the camera. More...
 
uint32_t requestSequence_
 The queuing sequence number of the request. More...
 

Detailed Description

Base class for camera private data.

The Camera::Private class stores all private data associated with a camera. In addition to hiding core Camera data from the public API, it is expected to be subclassed by pipeline handlers to store pipeline-specific data.

Pipeline handlers can obtain the Camera::Private instance associated with a camera by calling Camera::_d().

Constructor & Destructor Documentation

◆ Private()

libcamera::Camera::Private::Private ( PipelineHandler pipe)

Construct a Camera::Private instance.

Parameters
[in]pipeThe pipeline handler responsible for the camera device

Member Function Documentation

◆ pipe() [1/2]

libcamera::Camera::Private::pipe ( )
inline

Retrieve the pipeline handler related to this camera.

Returns
The pipeline handler that created this camera

◆ pipe() [2/2]

libcamera::Camera::Private::pipe ( ) const
inline

Retrieve the pipeline handler related to this camera.

Returns
The pipeline handler that created this camera

◆ validator()

libcamera::Camera::Private::validator ( ) const
inline

Retrieve the control validator related to this camera.

Returns
The control validator associated with this camera

Member Data Documentation

◆ controlInfo_

libcamera::Camera::Private::controlInfo_

The set of controls supported by the camera.

The control information shall be initialised by the pipeline handler when creating the camera.

Todo:
This member was initially meant to stay constant after the camera is created. Several pipeline handlers are already updating it when the camera is configured. Update the documentation accordingly, and possibly the API as well, when implementing official support for control info updates.

◆ properties_

libcamera::Camera::Private::properties_

The list of properties supported by the camera.

The list of camera properties shall be initialised by the pipeline handler when creating the camera, and shall not be modified afterwards.

◆ queuedRequests_

libcamera::Camera::Private::queuedRequests_

The list of queued and not yet completed requests.

This list tracks requests queued in order to ensure completion of all requests when the pipeline handler is stopped.

See also
PipelineHandler::queueRequest(), PipelineHandler::stop(), PipelineHandler::completeRequest()

◆ requestSequence_

libcamera::Camera::Private::requestSequence_

The queuing sequence number of the request.

When requests are queued, they are given a per-camera sequence number to facilitate debugging of internal request usage.

The requestSequence_ tracks the number of requests queued to a camera over a single capture session.


The documentation for this class was generated from the following files: