<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/103028/">http://git.reviewboard.kde.org/r/103028/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This review has been submitted with commit 3c1c788cc52e166278af2ed878e8a2f65874b1ac by Matěj Laitl to branch KDE/4.8.</pre>
 <br />







<p>- Commit</p>


<br />
<p>On December 3rd, 2011, 11:59 p.m., Matěj Laitl wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for kdelibs.</div>
<div>By Matěj Laitl.</div>


<p style="color: grey;"><i>Updated Dec. 3, 2011, 11:59 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">udev PortableMediaPlayer: read protocols from media-player-info

This is a second attempt at implementing PortableMediaPlayer for udev
back-end using media-player-info [3], the first attempt was [2] by
Alex Merry and this patch is heavily based on it. This patch relates to
a discussion at [1] and is just a first step, the second would
be to forward PMP interface from udev backed to udisks backed somehow
(udisks...Device interface provides NativePath attribute that links to
sysfs path that can help - on Linux)

[1] http://mail.kde.org/pipermail/kde-hardware-devel/2011-October/001481.html
[2] https://svn.reviewboard.kde.org/r/5853/
[3] http://www.freedesktop.org/wiki/Software/media-player-info

Care is taken not to change existing behaviour - e.g. when udev env
ID_MEDIA_PLAYER equals 1, behaviour is unchanged.

PACKAGERS, solid udev backend now has following optional runtime-only
dependency that provides udev rules and other info for identification
of the portable media players:
 * media-player-info: for identifying USB storage devices and iPods

Following packages also provide relevant udev rules, but we suggest not
depending on them as they should by pulled by packages that actually
use them (such as Amarok, transitively):
 * usbmuxd: for identifying iOS-based iPods
 * libmtp >= 1.0.4: for identifying MTP players

CCBUG: 253671  # does not solve it yet, but is a first step
CCBUG: 269447
CCBUG: 269451
REVIEW: 103028
DIGEST: groundwork for better media device player detection
CCMAIL: amarok-devel@kde.org
CCMAIL: kde-packager@kde.org</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">1. connect iPod
2. works:
$ solid-hardware details /org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/host6/target6:0:0/6:0:0:0/block/sdc
udi = '/org/kde/solid/udev/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/host6/target6:0:0/6:0:0:0/block/sdc'
  parent = '/org/kde/solid/udev'  (string)
  vendor = 'Apple'  (string)
  product = 'iPod'  (string)
  description = 'Portable Media Player'  (string)
  Block.major = 8  (0x8)  (int)
  Block.minor = 32  (0x20)  (int)
  Block.device = '/dev/sdc'  (string)
  PortableMediaPlayer.supportedProtocols = {'storage', 'ipod'}  (string list)
  PortableMediaPlayer.supportedDrivers = {'usb'}  (string list)

3. not yet:
$ solid-hardware details /org/freedesktop/UDisks/devices/sdc1
udi = '/org/freedesktop/UDisks/devices/sdc1'
  parent = '/org/freedesktop/UDisks/devices/sdc'  (string)
  vendor = 'Apple'  (string)
  product = 'MATOUSUV IP'  (string)
  description = 'MATOUSUV IP'  (string)
  Block.major = 8  (0x8)  (int)
  Block.minor = 33  (0x21)  (int)
  Block.device = '/dev/sdc1'  (string)
  StorageAccess.accessible = true  (bool)
  StorageAccess.filePath = '/media/MATOUSUV IP'  (string)
  StorageAccess.ignored = false  (bool)
  StorageVolume.ignored = false  (bool)
  StorageVolume.usage = 'FileSystem'  (0x2)  (enum)
  StorageVolume.fsType = 'vfat'  (string)
  StorageVolume.label = 'MATOUSUV IP'  (string)
  StorageVolume.uuid = '3141-5926'  (string)
  StorageVolume.size = 7888957440  (0x1d637f000)  (qulonglong)</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>solid/solid/CMakeLists.txt <span style="color: grey">(1a4adfad3b0aef700176e236f7587d3f26c76362)</span></li>

 <li>solid/solid/backends/udev/udevdevice.cpp <span style="color: grey">(d6c7fb43427e7db4cb7cfa7d67a02c5368a7811e)</span></li>

 <li>solid/solid/backends/udev/udevmanager.cpp <span style="color: grey">(55e655b9f49875923d82b7f2bf10b0e23c3bdfe1)</span></li>

 <li>solid/solid/backends/udev/udevportablemediaplayer.h <span style="color: grey">(e0348aafea7ec41e0df578dc661fbbb521531adf)</span></li>

 <li>solid/solid/backends/udev/udevportablemediaplayer.cpp <span style="color: grey">(32a189315bbc3bd323ef39f9e2743cbfe1063e68)</span></li>

 <li>solid/solid/ifaces/portablemediaplayer.h <span style="color: grey">(b03a995223f03fa15c724427f05afdff6c3e7379)</span></li>

 <li>solid/solid/xdgbasedirs.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>solid/solid/xdgbasedirs_p.h <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/103028/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>