PlatformResult HrmSensorData::CallMember(PlatformResult (SensorData::*member) ()) {
LoggerD("Entered: %s", type_to_string_map[type()].c_str());
+ bool is_any_supported = false;
for (const auto& sensor : hrm_sensors_) {
if (sensor.second->is_supported()) {
+ is_any_supported = true;
auto res = (sensor.second.get()->*member)();
if (!res) {
return res;
}
}
}
- return PlatformResult(ErrorCode::NO_ERROR);
+ if (is_any_supported) {
+ return PlatformResult(ErrorCode::NO_ERROR);
+ } else {
+ return PlatformResult(ErrorCode::NOT_SUPPORTED_ERR, "None HRM LED sensor is supported.");
+ }
}
PlatformResult HrmSensorData::CallMember(
const std::shared_ptr<picojson::value>& result,
const std::function<void(const std::shared_ptr<picojson::value>&)>& work) {
LoggerD("Entered: %s", type_to_string_map[type()].c_str());
+ bool is_any_supported = false;
for (const auto& sensor : hrm_sensors_) {
if (sensor.second->is_supported()) {
+ is_any_supported = true;
auto res = (sensor.second.get()->*member)(result, work);
if (!res) {
return res;
}
}
}
- return PlatformResult(ErrorCode::NO_ERROR);
+ if (is_any_supported) {
+ return PlatformResult(ErrorCode::NO_ERROR);
+ } else {
+ return PlatformResult(ErrorCode::NOT_SUPPORTED_ERR, "None HRM LED sensor is supported.");
+ }
}
PlatformResult HrmSensorData::IsSupportedImpl(bool* supported) const {