X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fbinding%2Fdeviceoptions.h;h=445361fd6f80467421d2e90c303719643862268f;hp=28806f0f15e35c9fe2a650d809acc660f548a94b;hb=2445160a5d1eb98196d2a1d57246d4c37dd13811;hpb=4d5d5d6aeb7d936fb6b939f6c6531b3f054dac1f diff --git a/pv/prop/binding/deviceoptions.h b/pv/prop/binding/deviceoptions.h index 28806f0f..445361fd 100644 --- a/pv/prop/binding/deviceoptions.h +++ b/pv/prop/binding/deviceoptions.h @@ -22,48 +22,47 @@ #define PULSEVIEW_PV_PROP_BINDING_DEVICEOPTIONS_H #include +#include #include -#include - #include "binding.h" +#include + +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 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, boost::function printer = print_gvariant); - - 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); + void bind_int(const QString &name, int key, QString suffix, + boost::optional< std::pair > range); 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 _dev_inst; + const sr_channel_group *const _group; }; } // binding