libcamera
v0.3.1+12-19bbca3c
Supporting cameras in Linux since 2019
|
Registration of PipelineHandler classes and creation of instances. More...
Public Member Functions | |
PipelineHandlerFactory (const char *name) | |
Construct a pipeline handler factory. More... | |
std::unique_ptr< PipelineHandler > | createInstance (CameraManager *manager) const override |
Create an instance of the PipelineHandler corresponding to the factory. More... | |
Public Member Functions inherited from libcamera::PipelineHandlerFactoryBase | |
PipelineHandlerFactoryBase (const char *name) | |
Construct a pipeline handler factory base. More... | |
std::shared_ptr< PipelineHandler > | create (CameraManager *manager) const |
Create an instance of the PipelineHandler corresponding to the factory. More... | |
const std::string & | name () const |
Retrieve the factory name. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from libcamera::PipelineHandlerFactoryBase | |
static std::vector< PipelineHandlerFactoryBase * > & | factories () |
Retrieve the list of all pipeline handler factories. More... | |
static const PipelineHandlerFactoryBase * | getFactoryByName (const std::string &name) |
Return the factory for the pipeline handler with name name. More... | |
Registration of PipelineHandler classes and creation of instances.
_PipelineHandler | The pipeline handler class type for this factory |
To facilitate discovery and instantiation of PipelineHandler classes, the PipelineHandlerFactory class implements auto-registration of pipeline handlers. Each PipelineHandler subclass shall register itself using the REGISTER_PIPELINE_HANDLER() macro, which will create a corresponding instance of a PipelineHandlerFactory and register it with the static list of factories.
|
inline |
Construct a pipeline handler factory.
[in] | name | Name of the pipeline handler class |
Creating an instance of the factory 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.
|
inlineoverridevirtual |
Create an instance of the PipelineHandler corresponding to the factory.
[in] | manager | The camera manager |
Implements libcamera::PipelineHandlerFactoryBase.