#include <QString>
-#include <libsigrok/libsigrok.h>
-
#include "binding.h"
+#include <glib.h>
+
+struct sr_dev_inst;
+struct sr_probe_group;
+
namespace pv {
+
+class DevInst;
+
namespace prop {
namespace binding {
class DeviceOptions : public Binding
{
public:
- DeviceOptions(struct sr_dev_inst *sdi);
+ DeviceOptions(boost::shared_ptr<pv::DevInst> dev_inst,
+ 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,
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<DevInst> _dev_inst;
+ const sr_probe_group *const _group;
};
} // binding