[Kde-hardware-devel] Review Request: HAL: Use the filtering code in HalDevice in devicesFromQuery().

Raphael Kubo da Costa rakuco at freebsd.org
Mon Jul 23 14:11:31 UTC 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105615/
-----------------------------------------------------------

(Updated July 23, 2012, 2:11 p.m.)


Review request for Solid and Alberto Villa.


Changes
-------

Do not bail out if the type is Unknown, even if the code is not currently reached via listFromTypes in this case.


Description
-------

HAL: Use the filtering code in HalDevice in devicesFromQuery().

Follow what other backends such as the UDisks one do and simply relay
the required checks for validity to each Device we are interested in.

So far, HalDevice::queryDeviceInterface() performed some checks
depending on the DeviceInterface type being passed to it, while
HalManager::devicesFromQuery() did not filter the results it got in
the same way. What's more, some checks such as the video4linux ones
were being made in both places, leading to some needless duplication
in functionality.

As a side-effect, this fixes a bug made visibile by a recent commit to
libktorrent: retrieving StorageAccess devices with listFromType()
would simply query HAL for devices with the "volume" capability (which
includes swap partitions and other non-mountable things), so using
Device::asDeviceInterface(Solid::DeviceInterface::StorageAccess) would
sometimes return 0 on a few of those entries retrieved earlier.


Diffs (updated)
-----

  solid/solid/backends/hal/halmanager.h ec42fac1d2b5dc306e9b8e00432bcbe5854a6fb9 
  solid/solid/backends/hal/halmanager.cpp 2c9c6c0c0a8385bee37ce77d488e0395f2f90a06 

Diff: http://git.reviewboard.kde.org/r/105615/diff/


Testing
-------

libktorrent stopped crashing on bt::MountPoint()


Thanks,

Raphael Kubo da Costa

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-hardware-devel/attachments/20120723/89b00acb/attachment.html>


More information about the Kde-hardware-devel mailing list