X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdevice%2Fdevice.cpp;h=546ce391869f81c52a86116326e034972ebb2df2;hp=40044f8cd9490d8cae5be998f8359881114696e8;hb=87b79835014a386fb51b52bc993dbb693bd27197;hpb=bb3030b34e44733036acdfe5b4d4ec0705146831 diff --git a/pv/device/device.cpp b/pv/device/device.cpp index 40044f8..546ce39 100644 --- a/pv/device/device.cpp +++ b/pv/device/device.cpp @@ -25,6 +25,9 @@ #include "device.h" +using std::list; +using std::make_pair; +using std::map; using std::ostringstream; using std::string; @@ -70,24 +73,51 @@ std::string Device::format_device_title() const assert(_sdi); - if (_sdi->vendor && _sdi->vendor[0]) { - s << _sdi->vendor; - if ((_sdi->model && _sdi->model[0]) || - (_sdi->version && _sdi->version[0])) - s << ' '; - } + if (_sdi->vendor && _sdi->vendor[0]) + s << _sdi->vendor << " "; - if (_sdi->model && _sdi->model[0]) { - s << _sdi->model; - if (_sdi->version && _sdi->version[0]) - s << ' '; - } + if (_sdi->model && _sdi->model[0]) + s << _sdi->model << " "; if (_sdi->version && _sdi->version[0]) - s << _sdi->version; + s << _sdi->version << " "; + + // Show connection string only if no serial number is present. + if (_sdi->serial_num && _sdi->serial_num[0]) + s << "(" << _sdi->serial_num << ") "; + else if (_sdi->connection_id && _sdi->connection_id[0]) + s << "[" << _sdi->connection_id << "] "; + + // Remove trailing space. + s.seekp(-1, std::ios_base::end); + s << std::ends; return s.str(); } +map Device::get_device_info() const +{ + map result; + + assert(_sdi); + + if (_sdi->vendor && _sdi->vendor[0]) + result.insert(make_pair("vendor", _sdi->vendor)); + + if (_sdi->model && _sdi->model[0]) + result.insert(make_pair("model", _sdi->model)); + + if (_sdi->version && _sdi->version[0]) + result.insert(make_pair("version", _sdi->version)); + + if (_sdi->serial_num && _sdi->serial_num[0]) + result.insert(make_pair("serial_num", _sdi->serial_num)); + + if (_sdi->connection_id && _sdi->connection_id[0]) + result.insert(make_pair("connection_id", _sdi->connection_id)); + + return result; +} + } // device } // pv