int GetFirmwareProps(const char * deviceFile, std::string &props, bool configid) { HIDDevice rmidevice; int rc = UPDATE_SUCCESS; std::stringstream ss; rc = rmidevice.Open(deviceFile); if (rc) return rc; rmidevice.ScanPDT(0x1); rmidevice.QueryBasicProperties(); if (configid) { ss << std::hex << rmidevice.GetConfigID(); } else { ss << rmidevice.GetFirmwareVersionMajor() << "." << rmidevice.GetFirmwareVersionMinor() << "." << std::hex << rmidevice.GetFirmwareID(); if (rmidevice.InBootloader()) ss << " bootloader"; } props = ss.str(); return rc; }