X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fbinding%2Fdeviceoptions.cpp;fp=pv%2Fprop%2Fbinding%2Fdeviceoptions.cpp;h=a5b9dd2365d9e6a4c058979f9a94e3af8f74c50e;hp=e661b1952f0588e3534424c6bc32def7e42fe209;hb=941c1ba74ba3ba6dd44bf23aafee28809138032b;hpb=2f779c1bd6a9a74c97be09ee6842a7527e083fa6 diff --git a/pv/prop/binding/deviceoptions.cpp b/pv/prop/binding/deviceoptions.cpp index e661b195..a5b9dd23 100644 --- a/pv/prop/binding/deviceoptions.cpp +++ b/pv/prop/binding/deviceoptions.cpp @@ -45,15 +45,17 @@ namespace pv { namespace prop { namespace binding { -DeviceOptions::DeviceOptions(const sr_dev_inst *sdi) : - _sdi(sdi) +DeviceOptions::DeviceOptions(const sr_dev_inst *sdi, + const sr_probe_group *group) : + _sdi(sdi), + _group(group) { assert(sdi); GVariant *gvar_opts, *gvar_list; gsize num_opts; - if ((sr_config_list(sdi->driver, sdi, NULL, SR_CONF_DEVICE_OPTIONS, + if ((sr_config_list(sdi->driver, sdi, group, SR_CONF_DEVICE_OPTIONS, &gvar_opts) != SR_OK)) /* Driver supports no device instance options. */ return; @@ -69,7 +71,8 @@ DeviceOptions::DeviceOptions(const sr_dev_inst *sdi) : const int key = info->key; - if (sr_config_list(_sdi->driver, _sdi, NULL, key, &gvar_list) != SR_OK) + if (sr_config_list(_sdi->driver, _sdi, group, + key, &gvar_list) != SR_OK) gvar_list = NULL; const QString name = QString::fromUtf8(info->name); @@ -117,10 +120,10 @@ DeviceOptions::DeviceOptions(const sr_dev_inst *sdi) : } GVariant* DeviceOptions::config_getter( - const struct sr_dev_inst *sdi, int key) + const sr_dev_inst *sdi, const sr_probe_group *group, int key) { GVariant *data = NULL; - if (sr_config_get(sdi->driver, sdi, NULL, key, &data) != SR_OK) { + if (sr_config_get(sdi->driver, sdi, group, key, &data) != SR_OK) { qDebug() << "WARNING: Failed to get value of config id" << key; return NULL; @@ -129,17 +132,18 @@ GVariant* DeviceOptions::config_getter( } void DeviceOptions::config_setter( - const struct sr_dev_inst *sdi, int key, GVariant* value) + const struct sr_dev_inst *sdi, const sr_probe_group *group, int key, + GVariant* value) { - if (sr_config_set(sdi, NULL, key, value) != SR_OK) + if (sr_config_set(sdi, group, key, value) != SR_OK) qDebug() << "WARNING: Failed to set value of sample rate"; } void DeviceOptions::bind_bool(const QString &name, int key) { _properties.push_back(shared_ptr( - new Bool(name, bind(config_getter, _sdi, key), - bind(config_setter, _sdi, key, _1)))); + new Bool(name, bind(config_getter, _sdi, _group, key), + bind(config_setter, _sdi, _group, key, _1)))); } void DeviceOptions::bind_enum(const QString &name, int key, @@ -157,8 +161,8 @@ void DeviceOptions::bind_enum(const QString &name, int key, _properties.push_back(shared_ptr( new Enum(name, values, - bind(config_getter, _sdi, key), - bind(config_setter, _sdi, key, _1)))); + bind(config_getter, _sdi, _group, key), + bind(config_setter, _sdi, _group, key, _1)))); } void DeviceOptions::bind_int(const QString &name, int key, QString suffix, @@ -166,8 +170,8 @@ void DeviceOptions::bind_int(const QString &name, int key, QString suffix, { _properties.push_back(shared_ptr( new Int(name, suffix, range, - bind(config_getter, _sdi, key), - bind(config_setter, _sdi, key, _1)))); + bind(config_getter, _sdi, _group, key), + bind(config_setter, _sdi, _group, key, _1)))); } QString DeviceOptions::print_gvariant(GVariant *const gvar)