Apollo 10.0
自动驾驶开放平台
apollo::cyber::data::DataNotifier类 参考

#include <data_notifier.h>

apollo::cyber::data::DataNotifier 的协作图:

Public 类型

using NotifyVector = std::vector< std::shared_ptr< Notifier > >
 

Public 成员函数

 ~DataNotifier ()
 
void AddNotifier (uint64_t channel_id, const std::shared_ptr< Notifier > &notifier)
 
bool Notify (const uint64_t channel_id)
 

详细描述

在文件 data_notifier.h42 行定义.

成员类型定义说明

◆ NotifyVector

using apollo::cyber::data::DataNotifier::NotifyVector = std::vector<std::shared_ptr<Notifier> >

在文件 data_notifier.h44 行定义.

构造及析构函数说明

◆ ~DataNotifier()

apollo::cyber::data::DataNotifier::~DataNotifier ( )
inline

在文件 data_notifier.h45 行定义.

45{}

成员函数说明

◆ AddNotifier()

void apollo::cyber::data::DataNotifier::AddNotifier ( uint64_t  channel_id,
const std::shared_ptr< Notifier > &  notifier 
)
inline

在文件 data_notifier.h61 行定义.

62 {
63 std::lock_guard<std::mutex> lock(notifies_map_mutex_);
64 NotifyVector* notifies = nullptr;
65 if (notifies_map_.Get(channel_id, &notifies)) {
66 notifies->emplace_back(notifier);
67 } else {
68 NotifyVector new_notify = {notifier};
69 notifies_map_.Set(channel_id, new_notify);
70 }
71}
std::vector< std::shared_ptr< Notifier > > NotifyVector

◆ Notify()

bool apollo::cyber::data::DataNotifier::Notify ( const uint64_t  channel_id)
inline

在文件 data_notifier.h73 行定义.

73 {
74 NotifyVector* notifies = nullptr;
75 if (notifies_map_.Get(channel_id, &notifies)) {
76 for (auto& notifier : *notifies) {
77 if (notifier && notifier->callback) {
78 notifier->callback();
79 }
80 }
81 return true;
82 }
83 return false;
84}

该类的文档由以下文件生成: