]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/binding/deviceoptions.h
Added probe group support to DeviceOptions binding
[pulseview.git] / pv / prop / binding / deviceoptions.h
index f2344796e338220b77dd8892459efe60a9000b6b..ab0f01716f0377c563c5288a14050bed8ea7fae2 100644 (file)
@@ -22,6 +22,7 @@
 #define PULSEVIEW_PV_PROP_BINDING_DEVICEOPTIONS_H
 
 #include <boost/function.hpp>
+#include <boost/optional.hpp>
 
 #include <QString>
 
@@ -36,35 +37,33 @@ namespace binding {
 class DeviceOptions : public Binding
 {
 public:
-       DeviceOptions(struct sr_dev_inst *sdi);
+       DeviceOptions(const sr_dev_inst *sdi,
+               const sr_probe_group *group = NULL);
 
 private:
 
        static GVariant* config_getter(
-               const struct sr_dev_inst *sdi, int key);
+               const sr_dev_inst *sdi, const sr_probe_group *group, int key);
        static void config_setter(
-               const struct sr_dev_inst *sdi, int key, GVariant* value);
+               const sr_dev_inst *sdi, const sr_probe_group *group, int key,
+               GVariant* value);
 
        void bind_bool(const QString &name, int key);
        void bind_enum(const QString &name, int key,
                GVariant *const gvar_list,
                boost::function<QString (GVariant*)> printer = print_gvariant);
+       void bind_int(const QString &name, int key, QString suffix,
+               boost::optional< std::pair<int64_t, int64_t> > range);
 
        static QString print_gvariant(GVariant *const gvar);
 
-       void bind_samplerate(const QString &name,
-               GVariant *const gvar_list);
-       static QString print_samplerate(GVariant *const gvar);
-       static GVariant* samplerate_double_getter(
-               const struct sr_dev_inst *sdi);
-       static void samplerate_double_setter(
-               struct sr_dev_inst *sdi, GVariant *value);
-
        static QString print_timebase(GVariant *const gvar);
        static QString print_vdiv(GVariant *const gvar);
+       static QString print_voltage_threshold(GVariant *const gvar);
 
 protected:
-       struct sr_dev_inst *const _sdi;
+       const sr_dev_inst *const _sdi;
+       const sr_probe_group *const _group;
 };
 
 } // binding