CfgMgr::Monitor

函数功能

检查指定参数,当该参数发生Set操作时会调用回调函数。

函数原型

uint32_t CfgMgr::Monitor(const std::string &kParam, std::function<void(T)> monitorFunc, const bool changeNeeded = false, const std::string &srv = "")

功能安全等级

ASIL-D

参数说明

参数名

输入/输出

说明

kParam

输入

key值,为参数名称或参数名称域(namespace),例如/ros/use_sim_time、/ros,key值开头加不加“/”都可以。

monitorFunc

输入

回调函数,函数入参支持的类型参见本表“使用说明”。

changeNeeded

输入

  • false:默认值,表示只要有Set这个参数就执行该回调函数,无论Set的值和之前比是否发生变化。
  • true:表示只有当Set的值和之前比发生了变化才执行该回调函数。

srv

输入

参数组,和资源文件对应,不填则默认到有权限的参数组中获取参数,效率会降低。

返回值

返回uint32_t类型,成功返回CFGMGR_SUCCESS,失败返回对应的错误码

使用说明

非模板函数,针对各种类型进行重载,回调函数参数支持的类型有:

std::string、double、float、int、bool、std::vector<std::string>、std::vector<double>、std::vector<float>、std::vector<int>、std::vector<bool>、std::map<std::string, std::string>、std::map<std::string, double>、std::map<std::string, float>、std::map<std::string, int>、std::map<std::string, bool>。

注意事项