X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdevice%2Fdevinst.h;h=8932f1807f542b07242a48f6836565985a886229;hb=ae2d1bc5b5aba9fcdd7fef42ef1bc9069267d6f7;hp=6e81f49c686fcc8ab1424ed2836ae6e859e5e348;hpb=921b90c0b3ae0cf44247da3d87bd7dc0612e9681;p=pulseview.git diff --git a/pv/device/devinst.h b/pv/device/devinst.h index 6e81f49..8932f18 100644 --- a/pv/device/devinst.h +++ b/pv/device/devinst.h @@ -36,6 +36,9 @@ struct sr_probe; struct sr_probe_group; namespace pv { + +class SigSession; + namespace device { class DevInst : public QObject @@ -43,10 +46,16 @@ 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; + + virtual void use(SigSession *owner) throw(QString); + + virtual void release(); + + SigSession* owner() const; virtual std::string format_device_title() const = 0; @@ -66,11 +75,18 @@ 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; }; } // device