libcamera  v0.2.0+150-2031e2f2
Supporting cameras in Linux since 2019
Public Member Functions | Static Public Member Functions | List of all members
libcamera::PipelineHandlerFactoryBase Class Referenceabstract

Base class for pipeline handler factories. More...

Inheritance diagram for libcamera::PipelineHandlerFactoryBase:
Inheritance graph
[legend]

Public Member Functions

 PipelineHandlerFactoryBase (const char *name)
 Construct a pipeline handler factory base. More...
 
std::shared_ptr< PipelineHandlercreate (CameraManager *manager) const
 Create an instance of the PipelineHandler corresponding to the factory. More...
 
const std::string & name () const
 Retrieve the factory name. More...
 

Static Public Member Functions

static std::vector< PipelineHandlerFactoryBase * > & factories ()
 Retrieve the list of all pipeline handler factories. More...
 
static const PipelineHandlerFactoryBasegetFactoryByName (const std::string &name)
 Return the factory for the pipeline handler with name name. More...
 

Detailed Description

Base class for pipeline handler factories.

The PipelineHandlerFactoryBase class is the base of all specializations of the PipelineHandlerFactory class template. It implements the factory registration, maintains a registry of factories, and provides access to the registered factories.

Constructor & Destructor Documentation

◆ PipelineHandlerFactoryBase()

libcamera::PipelineHandlerFactoryBase::PipelineHandlerFactoryBase ( const char *  name)

Construct a pipeline handler factory base.

Parameters
[in]nameName of the pipeline handler class

Creating an instance of the factory base registers it with the global list of factories, accessible through the factories() function.

The factory name is used for debug purpose and shall be unique.

Member Function Documentation

◆ create()

std::shared_ptr< PipelineHandler > libcamera::PipelineHandlerFactoryBase::create ( CameraManager manager) const

Create an instance of the PipelineHandler corresponding to the factory.

Parameters
[in]managerThe camera manager
Returns
A shared pointer to a new instance of the PipelineHandler subclass corresponding to the factory

◆ factories()

std::vector< PipelineHandlerFactoryBase * > & libcamera::PipelineHandlerFactoryBase::factories ( )
static

Retrieve the list of all pipeline handler factories.

Returns
the list of pipeline handler factories

◆ getFactoryByName()

const PipelineHandlerFactoryBase * libcamera::PipelineHandlerFactoryBase::getFactoryByName ( const std::string &  name)
static

Return the factory for the pipeline handler with name name.

Parameters
[in]nameThe pipeline handler name
Returns
The factory of the pipeline with name name, or nullptr if not found

◆ name()

libcamera::PipelineHandlerFactoryBase::name ( ) const
inline

Retrieve the factory name.

Returns
The factory name

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