-void DeviceManager::init_drivers()
-{
- // Initialise all libsigrok drivers
- sr_dev_driver **const drivers = sr_driver_list();
- for (sr_dev_driver **driver = drivers; *driver; driver++) {
- if (sr_driver_init(_sr_ctx, *driver) != SR_OK) {
- throw runtime_error(
- string("Failed to initialize driver ") +
- string((*driver)->name));
- }
- }
-}
-
-void DeviceManager::release_devices()
-{
- // Release all the used devices
- for (shared_ptr<device::Device> dev : _devices) {
- assert(dev);
- dev->release();
- }
-
- // Clear all the drivers
- sr_dev_driver **const drivers = sr_driver_list();
- for (sr_dev_driver **driver = drivers; *driver; driver++)
- sr_dev_clear(*driver);
-}
-
-void DeviceManager::scan_all_drivers()
-{
- // Scan all drivers for all devices.
- struct sr_dev_driver **const drivers = sr_driver_list();
- for (struct sr_dev_driver **driver = drivers; *driver; driver++)
- driver_scan(*driver);
-}
-
-void DeviceManager::release_driver(struct sr_dev_driver *const driver)
-{
- for (shared_ptr<device::Device> dev : _devices) {
- assert(dev);
- if(dev->dev_inst()->driver == driver)
- dev->release();
- }
-
- // Clear all the old device instances from this driver
- sr_dev_clear(driver);
-}
-
-bool DeviceManager::compare_devices(shared_ptr<device::Device> a,
- shared_ptr<device::Device> b)
-{