X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fprop%2Fbinding%2Fdeviceoptions.h;h=4a6eff2eb1694f07ef61aa43b7feef2d95f191e2;hb=945745012eb57cefa1ef457daf48cfffa99f9ec2;hp=ce0799b5f09a2c2be1cb5f8a239cf031d9e539cc;hpb=3820592a018c777727a6e65bd754d113742f4462;p=pulseview.git diff --git a/pv/prop/binding/deviceoptions.h b/pv/prop/binding/deviceoptions.h index ce0799b..4a6eff2 100644 --- a/pv/prop/binding/deviceoptions.h +++ b/pv/prop/binding/deviceoptions.h @@ -21,36 +21,50 @@ #ifndef PULSEVIEW_PV_PROP_BINDING_DEVICEOPTIONS_H #define PULSEVIEW_PV_PROP_BINDING_DEVICEOPTIONS_H -#include +#include +#include -extern "C" { -#include -} +#include #include "binding.h" +#include + +struct sr_dev_inst; +struct sr_probe_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_probe_group *group = NULL); private: - void expose_enum(const struct sr_config_info *info, - const std::vector > &values, - int opt); + 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); + void bind_int(const QString &name, int key, QString suffix, + boost::optional< std::pair > range); - void bind_stropt(const struct sr_config_info *info, int key); + static QString print_gvariant(GVariant *const gvar); - void bind_buffer_size(const struct sr_config_info *info); - void bind_time_base(const struct sr_config_info *info); - void bind_vdiv(const struct sr_config_info *info); + static QString print_timebase(GVariant *const gvar); + static QString print_vdiv(GVariant *const gvar); + static QString print_voltage_threshold(GVariant *const gvar); protected: - const struct sr_dev_inst *_sdi; + boost::shared_ptr _dev_inst; + const sr_probe_group *const _group; }; } // binding