-void DeviceOptions::expose_enum(const struct sr_config_info *info,
- const vector< pair<const void*, QString> > &values, int key)
-{
- _properties.push_back(shared_ptr<Property>(
- new Enum(QString(info->name), values,
- bind(enum_getter, _sdi, key),
- bind(sr_config_set, _sdi, key, _1))));
-}
-
-void DeviceOptions::bind_stropt(
- const struct sr_config_info *info, int key)
-{
- const char **stropts;
- if (sr_config_list(_sdi->driver, key,
- (const void **)&stropts, _sdi) != SR_OK)
- return;
-
- vector< pair<const void*, QString> > values;
- for (int i = 0; stropts[i]; i++)
- values.push_back(make_pair(stropts[i], stropts[i]));
-
- expose_enum(info, values, key);
-}
-
-void DeviceOptions::bind_samplerate(const struct sr_config_info *info)
-{
- const struct sr_samplerates *samplerates;
-
- if (sr_config_list(_sdi->driver, SR_CONF_SAMPLERATE,
- (const void **)&samplerates, _sdi) != SR_OK)
- return;
-
- if (samplerates->step) {
- _properties.push_back(shared_ptr<Property>(
- new Double(QString(info->name),
- 0, QObject::tr("Hz"),
- make_pair((double)samplerates->low,
- (double)samplerates->high),
- (double)samplerates->step,
- bind(samplerate_value_getter, _sdi),
- bind(samplerate_value_setter, _sdi, _1))));
- } else {
- vector< pair<const void*, QString> > values;
- for (const uint64_t *rate = samplerates->list;
- *rate; rate++)
- values.push_back(make_pair(
- (const void*)rate,
- QString(sr_samplerate_string(*rate))));
-
- _properties.push_back(shared_ptr<Property>(
- new Enum(QString(info->name), values,
- bind(samplerate_list_getter, _sdi),
- bind(samplerate_list_setter, _sdi, _1))));
- }
-}
-
-void DeviceOptions::bind_buffer_size(const struct sr_config_info *info)