X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdevices%2Fdevice.cpp;h=4edc1d10e11cbb3be3e1b5ae1e79760da47fc4cb;hp=6a36ff384a990b5e9245c8b9d757e903aa56cc5f;hb=2ad82c2e40b6865481733913a2c32735602f63c4;hpb=b48daed65bff5da5fddc6db11377b8730220865f diff --git a/pv/devices/device.cpp b/pv/devices/device.cpp index 6a36ff3..4edc1d1 100644 --- a/pv/devices/device.cpp +++ b/pv/devices/device.cpp @@ -36,19 +36,23 @@ using Glib::Variant; namespace pv { namespace devices { -Device::Device() { +Device::Device() +{ } -Device::~Device() { +Device::~Device() +{ if (session_) session_->remove_datafeed_callbacks(); } -std::shared_ptr Device::session() const { +std::shared_ptr Device::session() const +{ return session_; } -std::shared_ptr Device::device() const { +std::shared_ptr Device::device() const +{ return device_; } @@ -73,20 +77,28 @@ T Device::read_config(const ConfigKey *key, const T default_value) const auto iter = keys.find(key); if (iter == keys.end() || - (*iter).second.find(sigrok::GET) != (*iter).second.end()) + (*iter).second.find(sigrok::GET) == (*iter).second.end()) return default_value; - return VariantBase::cast_dynamic>( + return VariantBase::cast_dynamic>( device_->config_get(ConfigKey::SAMPLERATE)).get(); } -void Device::run() { +void Device::start() +{ + assert(session_); + session_->start(); +} + +void Device::run() +{ assert(device_); assert(session_); session_->run(); } -void Device::stop() { +void Device::stop() +{ assert(session_); session_->stop(); }