X-Git-Url: http://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdevice%2Fdevice.cpp;fp=pv%2Fdevice%2Fdevice.cpp;h=e70be02592f0c58e3c2b59340068b39478f94842;hp=4a3ec35f1869364c04f02da03f2577c36cdcf7f8;hb=ae2d1bc5b5aba9fcdd7fef42ef1bc9069267d6f7;hpb=2445d0b3d64ab051d8a686506910224f9f4e45c7 diff --git a/pv/device/device.cpp b/pv/device/device.cpp index 4a3ec35f..e70be025 100644 --- a/pv/device/device.cpp +++ b/pv/device/device.cpp @@ -41,6 +41,28 @@ sr_dev_inst* Device::dev_inst() const return _sdi; } +void Device::use(SigSession *owner) throw(QString) +{ + DevInst::use(owner); + + sr_session_new(); + + assert(_sdi); + sr_dev_open(_sdi); + if (sr_session_dev_add(_sdi) != SR_OK) + throw QString(tr("Failed to use device.")); +} + +void Device::release() +{ + if (_owner) { + DevInst::release(); + sr_session_destroy(); + } + + sr_dev_close(_sdi); +} + std::string Device::format_device_title() const { ostringstream s;