65 #ifndef IDFETCHHELPERS_H
66 #define IDFETCHHELPERS_H
75 static inline std::string
searchOne(std::string
const&
string, std::string
const& regex)
78 std::regex_search(
string, sm, std::regex(regex));
88 std::string
id =
searchOne(devpath,
"([0-9A-Fa-f]*)$");
99 std::string regex = string;
100 std::transform(regex.begin(), regex.end(), regex.begin(), ::toupper);
101 auto t1 =
searchOne(regex,
"VID_([0-9a-fA-F]{4}).*PID_.*");
104 return static_cast<uint16_t
>(std::stoi(t1,
nullptr, 16));
106 catch (std::invalid_argument&)
117 std::string regex = string;
118 std::transform(regex.begin(), regex.end(), regex.begin(), ::toupper);
119 auto t1 =
searchOne(regex,
"VID_.*PID_([0-9a-fA-F]{4})");
122 return static_cast<uint16_t
>(std::stoi(t1,
nullptr, 16));
124 catch (std::invalid_argument&)