X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fbinding%2Fdevice.cpp;h=026ca16c6b49354f5e51cbbe89b59a1c09f5bf86;hb=7bb0fbf4d3809dbbd0fe5b35fc7e475b1065ae20;hp=7547a46b341b33d3f472c2fce56812fa491fbe9c;hpb=ef2986c0f3e0ce3346a28d86348d8cc1746e9b66;p=pulseview.git diff --git a/pv/binding/device.cpp b/pv/binding/device.cpp index 7547a46..026ca16 100644 --- a/pv/binding/device.cpp +++ b/pv/binding/device.cpp @@ -56,11 +56,12 @@ namespace binding { Device::Device(shared_ptr configurable) : configurable_(configurable) { - assert(configurable); - for (auto entry : configurable->config_keys(ConfigKey::DEVICE_OPTIONS)) { - auto key = entry.first; - auto capabilities = entry.second; + auto keys = configurable->config_keys(); + + for (auto key : keys) { + + auto capabilities = configurable->config_capabilities(key); if (!capabilities.count(Capability::GET) || !capabilities.count(Capability::SET)) @@ -82,8 +83,7 @@ Device::Device(shared_ptr configurable) : config_changed(); }; - switch (key->id()) - { + switch (key->id()) { case SR_CONF_SAMPLERATE: // Sample rate values are not bound because they are shown // in the MainBar @@ -106,6 +106,7 @@ Device::Device(shared_ptr configurable) : case SR_CONF_EXTERNAL_CLOCK: case SR_CONF_RLE: + case SR_CONF_POWER_OFF: bind_bool(name, get, set); break; @@ -121,6 +122,10 @@ Device::Device(shared_ptr configurable) : bind_enum(name, key, capabilities, get, set, print_voltage_threshold); break; + case SR_CONF_PROBE_FACTOR: + bind_int(name, "", pair(1, 500), get, set); + break; + default: break; } @@ -136,7 +141,7 @@ void Device::bind_bool(const QString &name, } void Device::bind_enum(const QString &name, - const ConfigKey *key, std::set capabilities, + const ConfigKey *key, std::set capabilities, Property::Getter getter, Property::Setter setter, function printer) {