Am Montag, 11. Juni 2012, 10:08:56 schrieb Werner Franke:
(...). Danke für Deine Antwort.
Gerne!
Ich habe in meinem Tool einen Knopf "automatische Geraeteerkennung" eingebaut, die unter anderem 'lshal' oder 'hwinfo' benutzt, um erste grundlegende Daten wie
- Model z.B. TSSTcorp CD/DVDW SH-S182M - Features z.B. CD-R, CD-RW, DVD, DVD-R, DVD-RW, DVD+R, DVD+RW, DVD+DL - Device File z.B. /dev/sr1
von den eingebauten CD/DVD Geräten zu bekommen.
Okay. Mit "udisks --enumerate-device-files" bekommst du erst einmal alle "Disk"-Geräte und deren Partitionen. Wenn du über die Ergebnisse mit "udisks --show-info $DEVICEFILE" iterierst, siehst du anhand der Zeile "compat: optical_cd ..." ob es ein optisches Laufwerk ist und ob es auch schreiben kann "..._rw". Per dbus (ich schau mit das mit "qdbusviewer" an), findest du sogar alle Geräte und Partitionen nur einmal (org.freedesktop.UDisks.devices). Dort kannst du dann unter bspw. "sr0" direkt die Property "DriveMediaCompatibility" auslesen, die als Liste so etwas wie "optical_dvd_rw" enthält.
Ausgehend von den dabei erhaltenen Informationen suche ich aus den anderen genannten Quellen weitere Daten wie Geschwindigkeit usw. zusammen.
Das mit der Geschwindigkeit ist schwierig. Ich habe mir den Quelltext von solid (Hardwareabstraktion von KDE4) ageschaut und dort wurde aus Lizenzgründen vor einem Jahr das Auslesen der Geschwindigkeit entfernt. Sprich, ein Aufruf von "solid-hardware details /org/freedesktop/UDisks/devices/sr0" sollte mittlerweile immer "0" als Geschwindigkeit ausgeben. Denn UDisks selbst unterstützt das Auslesen davon nicht.
Aufgrund der Daten in Features ermittle ich beispielsweise ob es sich bei dem Gerät um einen Brenner (CD/DVD) oder einen Leser handelt.
S.o., das geht mittels udisks.
Wenn ich auf udisks umstellen muss, dann müsste ich das Programm grundlegender umbauen, denn die dev-Namen (/dev/sr1) bekomme ich momentan von lshal/hwinfo und damit hangle ich mich durch die anderen Informationsquellen.
Die dev-Namen bekommst du von udisks. Nur halt auch die der Platten. Du brauchst wohl einen Aufruf pro Gerät mehr, um die Platten von den optischen Laufwerken zu unterscheiden. Gruß Jan -- Vulcan Borg: Live long and assimilate! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org