X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fbinding%2Fdeviceoptions.cpp;h=bc367673ed44330e8b89e0e32ae7b495d95dd3bc;hp=b6f2f13605e54b15a34330637e0cf53cf82d44e7;hb=d71bca8b719331690455e3b3aa8aeeba350c9d3a;hpb=d191508b2cfa24b5cf56c5184e7609353582f972 diff --git a/pv/prop/binding/deviceoptions.cpp b/pv/prop/binding/deviceoptions.cpp index b6f2f136..bc367673 100644 --- a/pv/prop/binding/deviceoptions.cpp +++ b/pv/prop/binding/deviceoptions.cpp @@ -20,6 +20,8 @@ #include +#include + #include "deviceoptions.h" #include @@ -86,7 +88,7 @@ void DeviceOptions::expose_enum(const struct sr_config_info *info, { _properties.push_back(shared_ptr( new Enum(QString(info->name), values, - function(), + bind(getter, _sdi, key), bind(sr_config_set, _sdi, key, _1)))); } @@ -151,6 +153,18 @@ void DeviceOptions::bind_vdiv(const struct sr_config_info *info) expose_enum(info, values, SR_CONF_VDIV); } +const void* DeviceOptions::enum_getter( + const struct sr_dev_inst *sdi, int key) +{ + const void *data = NULL; + if(sr_config_get(sdi->driver, key, &data, sdi) != SR_OK) { + qDebug() << + "WARNING: Failed to get value of config id" << key; + return NULL; + } + return data; +} + } // binding } // prop } // pv