X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdevice%2Fdevinst.h;h=7f467cf442be629771fa776e327e2b9e9dab9f49;hb=512bfc565937c0c1b07ec0e6486831526a6e1eee;hp=9098027eb84e0674da978a65c38e67df3485c36f;hpb=996b7c9da9b5cb56413e829217e1e7d7d7d520da;p=pulseview.git diff --git a/pv/device/devinst.h b/pv/device/devinst.h index 9098027e..7f467cf4 100644 --- a/pv/device/devinst.h +++ b/pv/device/devinst.h @@ -21,10 +21,9 @@ #ifndef PULSEVIEW_PV_DEVICE_DEVINST_H #define PULSEVIEW_PV_DEVICE_DEVINST_H +#include #include -#include - #include #include @@ -32,8 +31,8 @@ #include struct sr_dev_inst; -struct sr_probe; -struct sr_probe_group; +struct sr_channel; +struct sr_channel_group; namespace pv { @@ -46,26 +45,26 @@ class DevInst : public QObject Q_OBJECT protected: - DevInst(sr_dev_inst *sdi); + DevInst(); public: - sr_dev_inst* dev_inst() const; + virtual sr_dev_inst* dev_inst() const = 0; - void use(SigSession *owner); + virtual void use(SigSession *owner) throw(QString); - void release(); + virtual void release(); SigSession* owner() const; virtual std::string format_device_title() const = 0; - GVariant* get_config(const sr_probe_group *group, int key); + GVariant* get_config(const sr_channel_group *group, int key); - bool set_config(const sr_probe_group *group, int key, GVariant *data); + bool set_config(const sr_channel_group *group, int key, GVariant *data); - GVariant* list_config(const sr_probe_group *group, int key); + GVariant* list_config(const sr_channel_group *group, int key); - void enable_probe(const sr_probe *probe, bool enable = true); + void enable_probe(const sr_channel *probe, bool enable = true); /** * @brief Gets the sample limit from the driver. @@ -75,11 +74,17 @@ public: */ uint64_t get_sample_limit(); + virtual bool is_trigger_enabled() const; + +public: + virtual void start(); + + virtual void run(); + signals: void config_changed(); protected: - sr_dev_inst *const _sdi; SigSession *_owner; };