Apollo 10.0
自动驾驶开放平台
apollo::dreamview::FuelMonitorManager类 参考

#include <fuel_monitor_manager.h>

apollo::dreamview::FuelMonitorManager 的协作图:

Public 成员函数

void RegisterFuelMonitor (const std::string &mode, std::unique_ptr< FuelMonitor > &&fuel_monitor)
 
void SetCurrentMode (const std::string &mode)
 
FuelMonitorMapGetCurrentMonitors ()
 

详细描述

在文件 fuel_monitor_manager.h39 行定义.

成员函数说明

◆ GetCurrentMonitors()

FuelMonitorMap * apollo::dreamview::FuelMonitorManager::GetCurrentMonitors ( )

在文件 fuel_monitor_manager.cc63 行定义.

63 {
64 boost::unique_lock<boost::shared_mutex> reader_lock(mutex_);
65 return current_monitors_;
66}

◆ RegisterFuelMonitor()

void apollo::dreamview::FuelMonitorManager::RegisterFuelMonitor ( const std::string &  mode,
std::unique_ptr< FuelMonitor > &&  fuel_monitor 
)

在文件 fuel_monitor_manager.cc28 行定义.

29 {
30 const auto& class_name = fuel_monitor->GetClassName();
31 if (monitors_.find(mode) != monitors_.end() &&
32 monitors_[mode].find(class_name) != monitors_[mode].end()) {
33 AWARN << class_name << " for mode: " << mode << " has been exist!";
34 } else {
35 monitors_[mode].emplace(class_name, std::move(fuel_monitor));
36 AINFO << "Registered " << class_name << " for mode: " << mode;
37 }
38}
#define AINFO
Definition log.h:42
#define AWARN
Definition log.h:43

◆ SetCurrentMode()

void apollo::dreamview::FuelMonitorManager::SetCurrentMode ( const std::string &  mode)

在文件 fuel_monitor_manager.cc40 行定义.

40 {
41 current_mode_ = mode;
42 if (monitors_.find(mode) != monitors_.end()) {
43 FuelMonitorMap* new_monitors = &monitors_[mode];
44 if (current_monitors_ != nullptr && current_monitors_ != new_monitors) {
45 for (const auto& monitor : *current_monitors_) {
46 monitor.second->Stop();
47 }
48 }
49 {
50 boost::unique_lock<boost::shared_mutex> writer_lock(mutex_);
51 current_monitors_ = new_monitors;
52 }
53 for (const auto& monitor : *current_monitors_) {
54 monitor.second->Start();
55 }
56 } else if (current_monitors_ != nullptr) {
57 for (const auto& monitor : *current_monitors_) {
58 monitor.second->Stop();
59 }
60 }
61}
std::unordered_map< std::string, std::unique_ptr< FuelMonitor > > FuelMonitorMap

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