Erste mount-point, wenn ein USB-Gerät eingesteckt Mac OS X und linux
Ich versuche, ein Programm zu entwickeln, das in Mac OS und Linux, das listet die Dateien und Ordner im USB-Laufwerk. Ich brauche, um einige der Ereignisse, wenn das USB-Gerät ist angeschlossen und entfernt werden. Ich weiß, dass es in Mac OS X, die ich verwenden kann IOKit. Aber ich n ' T wissen, wie man den mount-Punkt, wo das Gerät montiert ist. Kann ich es mit IOkit? Gibt es eine cross-Plattform-Lösung für Linux und Mac?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, gibt es nicht. Unter Linux benutzen, können Sie HAL oder DeviceKit-disks D-Bus-Schnittstellen. Hinweis: das sind optionale Komponenten und können nicht vorhanden. HAL ist älter und DeviceKit-disks ist neueren Implementierungen, mit DK-d ersetzen von HAL.
Den Ansatz, den ich für immer die verfügbaren mount-Punkte (mit Java) leitet die Ausgabe von "system_profiler SPUSBDataType -xml" Befehl dd-plist Prozessor. Es Folge eine Rekursion über die USB-Hierarchie, die mit denen mit einem "Volumen" - Taste. Für jedes Element in diesem array, rufen Sie die "mount_point" - Taste zum abrufen der Stelle, wo es montiert ist. Siehe das code-Beispiel unten: