| 262 | } |
| 263 | |
| 264 | bool ParamValue::set_from_xml(const std::string& type_str, |
| 265 | const std::string& value_str) { |
| 266 | if (strcmp(type_str.c_str(), "uint8") == 0) { |
| 267 | _value = static_cast<uint8_t>(std::stoi(value_str)); |
| 268 | } else if (strcmp(type_str.c_str(), "int8") == 0) { |
| 269 | _value = static_cast<int8_t>(std::stoi(value_str)); |
| 270 | } else if (strcmp(type_str.c_str(), "uint16") == 0) { |
| 271 | _value = static_cast<uint16_t>(std::stoi(value_str)); |
| 272 | } else if (strcmp(type_str.c_str(), "int16") == 0) { |
| 273 | _value = static_cast<int16_t>(std::stoi(value_str)); |
| 274 | } else if (strcmp(type_str.c_str(), "uint32") == 0) { |
| 275 | _value = static_cast<uint32_t>(std::stoi(value_str)); |
| 276 | } else if (strcmp(type_str.c_str(), "int32") == 0) { |
| 277 | _value = static_cast<int32_t>(std::stoi(value_str)); |
| 278 | } else if (strcmp(type_str.c_str(), "uint64") == 0) { |
| 279 | _value = static_cast<uint64_t>(std::stoll(value_str)); |
| 280 | } else if (strcmp(type_str.c_str(), "int64") == 0) { |
| 281 | _value = static_cast<int64_t>(std::stoll(value_str)); |
| 282 | } else if (strcmp(type_str.c_str(), "float") == 0) { |
| 283 | _value = static_cast<float>(std::stof(value_str)); |
| 284 | } else if (strcmp(type_str.c_str(), "double") == 0) { |
| 285 | _value = static_cast<double>(std::stod(value_str)); |
| 286 | } else { |
| 287 | LogErr() << "Unknown type: " << type_str; |
| 288 | return false; |
| 289 | } |
| 290 | return true; |
| 291 | } |
| 292 | |
| 293 | bool ParamValue::set_empty_type_from_xml(const std::string& type_str) { |
| 294 | if (strcmp(type_str.c_str(), "uint8") == 0) { |