X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdevices%2Fdevice.cpp;h=855a1d82fca65019952b1baf46f21aef60c859de;hp=4edc1d10e11cbb3be3e1b5ae1e79760da47fc4cb;hb=6e2a5b1d677a26a637465cd4d304e2bc52e14f36;hpb=2ad82c2e40b6865481733913a2c32735602f63c4 diff --git a/pv/devices/device.cpp b/pv/devices/device.cpp index 4edc1d10..855a1d82 100644 --- a/pv/devices/device.cpp +++ b/pv/devices/device.cpp @@ -14,8 +14,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ #include @@ -24,11 +23,10 @@ #include "device.hpp" -using std::map; -using std::set; +using std::shared_ptr; using sigrok::ConfigKey; -using sigrok::Error; +using sigrok::Capability; using Glib::VariantBase; using Glib::Variant; @@ -36,22 +34,18 @@ using Glib::Variant; namespace pv { namespace devices { -Device::Device() -{ -} - Device::~Device() { if (session_) session_->remove_datafeed_callbacks(); } -std::shared_ptr Device::session() const +shared_ptr Device::session() const { return session_; } -std::shared_ptr Device::device() const +shared_ptr Device::device() const { return device_; } @@ -64,20 +58,11 @@ template T Device::read_config(const ConfigKey *key, const T default_value) { assert(key); - map< const ConfigKey*, set > keys; if (!device_) return default_value; - try { - keys = device_->config_keys(ConfigKey::DEVICE_OPTIONS); - } catch (const Error) { - return default_value; - } - - const auto iter = keys.find(key); - if (iter == keys.end() || - (*iter).second.find(sigrok::GET) == (*iter).second.end()) + if (!device_->config_check(key, Capability::GET)) return default_value; return VariantBase::cast_dynamic>(