X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdevicemanager.h;h=acef8a42d93ba2b1f1d1f5475717ab3a97557079;hp=b7f2d49a7e016ce49e6b66dc0124b17b1779dbb3;hb=8bd26d8b9c831b509ee3241ea4dac6f50c023622;hpb=dc0867ff7ec693953afb62f9512ad7dd3339a2b2 diff --git a/pv/devicemanager.h b/pv/devicemanager.h index b7f2d49a..acef8a42 100644 --- a/pv/devicemanager.h +++ b/pv/devicemanager.h @@ -24,17 +24,21 @@ #include #include -#include #include +#include + struct sr_context; struct sr_dev_driver; -struct sr_dev_inst; namespace pv { class SigSession; +namespace device { +class Device; +} + class DeviceManager { public: @@ -42,18 +46,13 @@ public: ~DeviceManager(); - const std::list& devices() const; - - void use_device(sr_dev_inst *sdi, SigSession *owner); + const std::list< boost::shared_ptr >& + devices() const; - void release_device(sr_dev_inst *sdi); - - std::list driver_scan( + std::list< boost::shared_ptr > driver_scan( struct sr_dev_driver *const driver, GSList *const drvopts = NULL); - static std::string format_device_title(const sr_dev_inst *const sdi); - private: void init_drivers(); @@ -63,13 +62,12 @@ private: void release_driver(struct sr_dev_driver *const driver); - static bool compare_devices(const sr_dev_inst *const a, - const sr_dev_inst *const b); + static bool compare_devices(boost::shared_ptr a, + boost::shared_ptr b); private: struct sr_context *const _sr_ctx; - std::list _devices; - std::map _used_devices; + std::list< boost::shared_ptr > _devices; }; } // namespace pv