Apollo  6.0
Open source self driving car software
Public Member Functions | List of all members
apollo::drivers::lidar::LidarDriverFactory Class Reference

#include <lidar_driver_factory.h>

Inheritance diagram for apollo::drivers::lidar::LidarDriverFactory:
Inheritance graph
Collaboration diagram for apollo::drivers::lidar::LidarDriverFactory:
Collaboration graph

Public Member Functions

 LidarDriverFactory (const apollo::drivers::lidar::config &config)
 
void RegisterLidarClients ()
 Register the lidar driver of all brands. This function call the Function apollo::common::util::Factory::Register() for all of the lidar. More...
 
std::unique_ptr< LidarDriverCreateLidarDriver (const std::shared_ptr<::apollo::cyber::Node > &node, const apollo::drivers::lidar::config &parameter)
 Create a pointer to a specified brand of lidar. The brand is set in the parameter. More...
 
- Public Member Functions inherited from apollo::common::util::Factory< LidarParameter::LidarBrand, LidarDriver, LidarDriver *(*)(const std::shared_ptr<::apollo::cyber::Node > &node, const apollo::drivers::lidar::config &config)>
bool Register (const LidarParameter::LidarBrand &id, LidarDriver * creator)
 Registers the class given by the creator function, linking it to id. Registration must happen prior to calling CreateObject. More...
 
bool Contains (const LidarParameter::LidarBrand &id)
 
bool Unregister (const LidarParameter::LidarBrand &id)
 Unregisters the class with the given identifier. More...
 
void Clear ()
 
bool Empty () const
 
std::unique_ptr< LidarDriver > CreateObjectOrNull (const LidarParameter::LidarBrand &id, Args &&... args)
 Creates and transfers membership of an object of type matching id. Need to register id before CreateObject is called. May return nullptr silently. More...
 
std::unique_ptr< LidarDriver > CreateObject (const LidarParameter::LidarBrand &id, Args &&... args)
 Creates and transfers membership of an object of type matching id. Need to register id before CreateObject is called. More...
 

Constructor & Destructor Documentation

◆ LidarDriverFactory()

apollo::drivers::lidar::LidarDriverFactory::LidarDriverFactory ( const apollo::drivers::lidar::config &  config)

Member Function Documentation

◆ CreateLidarDriver()

std::unique_ptr<LidarDriver> apollo::drivers::lidar::LidarDriverFactory::CreateLidarDriver ( const std::shared_ptr<::apollo::cyber::Node > &  node,
const apollo::drivers::lidar::config &  parameter 
)

Create a pointer to a specified brand of lidar. The brand is set in the parameter.

Parameters
parameterThe parameter to create the CAN client.
Returns
A pointer to the created CAN client.

◆ RegisterLidarClients()

void apollo::drivers::lidar::LidarDriverFactory::RegisterLidarClients ( )

Register the lidar driver of all brands. This function call the Function apollo::common::util::Factory::Register() for all of the lidar.


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