struct sr_probe_group;
namespace pv {
+
+class SigSession;
+
namespace device {
class DevInst : public QObject
{
Q_OBJECT
+protected:
+ DevInst();
+
public:
- DevInst(sr_dev_inst *sdi);
+ virtual sr_dev_inst* dev_inst() const = 0;
+
+ virtual void use(SigSession *owner) throw(QString);
+
+ virtual void release();
- sr_dev_inst* dev_inst() const;
+ SigSession* owner() const;
- std::string format_device_title() const;
+ virtual std::string format_device_title() const = 0;
GVariant* get_config(const sr_probe_group *group, int key);
*/
uint64_t get_sample_limit();
+ virtual bool is_trigger_enabled() const;
+
+public:
+ virtual void start();
+
+ virtual void run();
+
signals:
void config_changed();
-private:
- sr_dev_inst *const _sdi;
+protected:
+ SigSession *_owner;
};
} // device