]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/binding/deviceoptions.h
Update for 'probe_group' -> 'channel_group' rename in libsigrok.
[pulseview.git] / pv / prop / binding / deviceoptions.h
index e8af8e8a3b4678bd6e2d5c14472f698bba204a84..445361fd6f80467421d2e90c303719643862268f 100644 (file)
 
 #include <QString>
 
-#include <libsigrok/libsigrok.h>
-
 #include "binding.h"
 
+#include <glib.h>
+
+struct sr_dev_inst;
+struct sr_channel_group;
+
 namespace pv {
+
+namespace device {
+class DevInst;
+}
+
 namespace prop {
 namespace binding {
 
 class DeviceOptions : public Binding
 {
 public:
-       DeviceOptions(struct sr_dev_inst *sdi);
+       DeviceOptions(boost::shared_ptr<pv::device::DevInst> dev_inst,
+               const sr_channel_group *group = NULL);
 
 private:
-
-       static GVariant* config_getter(
-               const struct sr_dev_inst *sdi, int key);
-       static void config_setter(
-               const struct sr_dev_inst *sdi, int key, GVariant* value);
-
        void bind_bool(const QString &name, int key);
        void bind_enum(const QString &name, int key,
                GVariant *const gvar_list,
@@ -53,22 +56,13 @@ private:
        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;
+       boost::shared_ptr<device::DevInst> _dev_inst;
+       const sr_channel_group *const _group;
 };
 
 } // binding