KDE Input/Output
KDE Input/Output (KIO) stellt ein asynchrones virtuelles Dateisystem dar. Hinter diesem virtuellen Dateisystem stellen zahlreiche KIO-Slaves Zugriff auf unterschiedlichste Funktionalitäten bereit. Diese KIO-Slaves implementieren eine einheitliche Schnittstelle, welche Anwendungsprogrammen den transparenten Zugriff auf Systeme erlaubt, die ihre Funktionalitäten über Protokolle wie HTTP, FTP, SSH, WebDAV, POP3, IMAP, Bluetooth und vielen weiteren ermöglichen. Dies wird über eine Abstraktion der gemeinsamen Funktionalitäten, die solche Protokolle ermöglichen, erreicht. Auch verschiedene Archivarten wie tar, cpio und zip sowie unterschiedliche lokale Quellen (Audio-CD, USB-Stick, …) werden so gehandhabt.
Die Grundidee dieses Konzeptes ist, dass für die Handhabung jedes neu dazukommenden Protokolls für dessen Verwendung kein separater neuer Client zu schreiben ist, der dieses Protokoll beherrscht. Durch das Kio-Slave-Konzept genügt es, für das neue Protokoll einen Kio-Slave zu entwickeln und anzumelden. Dieser stellt dann einen über das virtuelle Dateisystem einen einheitlichen Dateizugriff für KDE-Anwendungen bereit, ohne das diese etwas über die eigentliche Funktionsweise wissen müssen.
Konqueror und KDE können im Zusammenspiel über diese API zum Beispiel auf Netzwerkfreigaben, Geräte (Bluetooth), … zugreifen, ohne einen Unterschied zu den üblichen Dateien berücksichtigen oder diesen kennen zu müssen. Für die Benutzer ergeben sich dadurch oftmals effiziente und bequemere Möglichkeiten, als dieselben, meist komplexen, Arbeiten zum Beispiel über die Konsole (KDE) zu erledigen.
Anwendungsbeispiele:
Konvertieren der Stücke einer Audio-CD in Ogg Vorbis
Mit Konqueror in einem Unterfenster die Pseudo-URI audiocd:/ eingeben. Danach sieht man den Inhalt der Audio-CD. Es gibt ein Unterverzeichnis Ogg/, dessen Inhalt kopiert man einfach in ein Verzeichnis auf der Festplatte. Fertig. Der Audio-CD KIO-Slave erledigt die Konvertierung automatisch während des Kopierens. Analog funktioniert dies auch fürs Konvertieren in WAV oder andere Containerformate / Dateiformate.
Direkter Upload einer Datei von einer nicht-lokalen Quelle
Möchte man z.B. auf Wikimedia Commons eine Datei hochladen, die man auf einem lokalen FTP- oder SMB-Server vorliegen hat, ist es nicht erforderlich, diese erst herunter- und dann zu Commons wieder hochzuladen (was bei einer sehr großen Datei durch Quotas unter Umständen vielleicht gar nicht möglich wäre). Bei der Angabe der Quelldatei kann, wie überall in KDE, auch eine entfernte Datei angegeben werden. Die beteiligten KIO-Slaves erledigen den Rest automatisch.