25#include <unordered_map>
27#include "modules/drivers/lidar/proto/config.pb.h"
28#include "modules/drivers/lidar/proto/lidar_parameter.pb.h"
47 LidarParameter::LidarBrand, LidarDriver,
48 LidarDriver* (*)(const std::shared_ptr<::apollo::cyber::Node>& node,
49 const apollo::drivers::lidar::config& config)> {
66 const std::shared_ptr<::apollo::cyber::Node>& node,
Implements a Factory design pattern with Register and Create methods
void RegisterLidarClients()
Register the lidar driver of all brands.
std::unique_ptr< LidarDriver > CreateLidarDriver(const std::shared_ptr<::apollo::cyber::Node > &node, const apollo::drivers::lidar::config ¶meter)
Create a pointer to a specified brand of lidar.
#define DECLARE_SINGLETON(classname)
Defines the CanFrame struct and CanClient interface.
Defines the Factory class.