Die &DCOP;-Schnittstelle von &k3b; &k3b; ist, wie viele andere &kde;-Anwendungen auch, mit einer &DCOP;-Schnittstelle ausgestattet. Mit Hilfe dieser Schnittstelle können Teile der Funktionalität beispielsweise über ein Shellskript gesteuert werden. Um die &DCOP;-Funktionen zu benutzen, können Sie entweder das Kommandozeilenprogramm dcop, oder das etwas komfortablere Programm Kdcop verwenden. Beide Programme sind im Funktionsumfang identisch, daher ist eher Ihr Geschmack und die Art Ihrer Aufgabenstellung entscheidend darüberr, welcher der beidenProgrammen Sie denVorzug geben. In diesem Kapitel nehmen wir an, dass Sie das Kommandozeilenprogramm dcop verwenden. Um die &DCOP;-Funktionen nutzen zu können, müssen Sie vorher sicherstellen, dass &k3b; gestartet ist. Dann geben Sie etwas wie das folgende an der Konsole ein: % dcop Neben den allgemeinen &DCOP;-Funktionen, die alle &kde;-Programm gemein haben, unterstützt &k3b; hauptsächlich zwei weitere Teile, die unten beschrieben sind. Das Standard K3bInterface Die Standard DCOP-Schnittstelle von &k3b; stellt Funktionen wie copyCD, formatDVD und weitere Funktionen zum Erzeugen von neuen Projekten zur Verfügung. DCOPRef createDataCDProject() DCOPRef createAudioCDProject() DCOPRef createMixedCDProject() DCOPRef createVideoCDProject() DCOPRef createMovixCDProject() DCOPRef createDataDVDProject() DCOPRef createVideoDVDProject() DCOPRef createMovixDVDProject() DCOPRef openProject(KURL url) QValueList<DCOPRef> projects() DCOPRef currentProject() void copyCd() void copyDvd() void eraseCdrw() void formatDvd() void burnCdImage(KURL url) void burnDvdImage(KURL url) Als Ergebnis solch einer createXXXProject-Methode erhält man eine DCOP-Referenz auf das neu erzeugte Projekt: DCOPRef(k3b,K3bProject-0) Alternativ kann man ein Projekt über die Befehlszeile erzeugen: # k3b --audiocd und dann eine Referenz auf das Projekt erhalten mittels # dcop currentProject Durch Verwenden dieser Referenz ist es möglich, das Projekt über K3bProjectInterface zu verändern. K3bProjectInterface void addUrls(KURL::List urls) void addUrl(KURL url) void burn() K3b bietet das oben gelistete K3bProjectInterface und das leistungsstarke K3bDataProjectInterface, welches nur auf Daten-Projekte anwendbar ist (CD und DVD): void createFolder(QString name) void createFolder(QString name,QString parent) void addUrl(KURL url,QString parent) void addUrls(KURL::List urls,QString parent) void removeItem(QString path) void renameItem(QString path,QString newName) void setVolumeID(QString id) Damit ist es möglich, ein Daten-Projekt mit Dateien und Ordnern aus einem Skript heraus zu füllen. Zum Beispiel erzeugt das folgende Skript ein Daten-Projekt, mehrere Ordner und fügt dann Dateien in die neuen Ordner ein: #!/bin/bash PROJECT=$(dcop k3b K3bInterface createDataCDProject) dcop $PROJECT createFolder test dcop $PROJECT createFolder foo dcop $PROJECT createFolder bar /foo dcop $PROJECT addUrl /home/trueg/somefile.txt /foo/bar