这个数据是用在这个HAL里的
Return<void> Thermal::registerThermalChangedCallback(const sp<IThermalChangedCallback> &callback, bool filterType, TemperatureType_2_0 type, registerThermalChangedCallback_cb _hidl_cb)
这里面首先传入的是callback,如果callback以前见过,就报错。那么就需要一个容器存储一下(另外需要通知所有calblack的时候也是需要这个容器的)。假定需要std::set。
我写std::set<sp<IThermalChangedCallback>> callback;结果报错,说是set需要超过一个的模板类型。就是需要比较函数。
那么,这种callback之间怎样比较?至少要能够判断两个callback不同吧?用什么呢?地址吗?
(然后,其实这个函数还传入了是不是要根据某个类型来回叫,所以其实不是std::set,可能是std::map<TemperatureType_2_0, std::set<sp<IThermalChangedCallback>>>.)
--
修改:bihai FROM 72.199.121.*
FROM 72.199.121.*