summaryrefslogtreecommitdiffstats
path: root/de/doc/dcop.docbook
blob: 0283f714f256d103d867f8ef6396254de28c80c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<chapter id="dcop">
  <title
>Die &DCOP;-Schnittstelle von &k3b;</title>
  <para
>&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.</para>
  <para
>Um die &DCOP;-Funktionen zu benutzen, können Sie entweder das Kommandozeilenprogramm <command
>dcop</command
>, oder das etwas komfortablere Programm <command
>Kdcop</command
> 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.</para>
  <para
>In diesem Kapitel nehmen wir an, dass Sie das Kommandozeilenprogramm <command
>dcop</command
> 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: <screen
><prompt
>%</prompt
> <userinput
><command
>dcop</command
> <option
>k3b</option
> <option
>K3bInterface</option
> <option
>[Funktion]</option
></userinput
>
</screen>
</para>

<para
>Neben den allgemeinen &DCOP;-Funktionen, die alle &kde;-Programm gemein haben, unterstützt &k3b; hauptsächlich zwei weitere Teile, die unten beschrieben sind.</para>

<sect1>
<title
>Das Standard K3bInterface</title>

<para
>Die Standard DCOP-Schnittstelle von &k3b; stellt Funktionen wie copyCD, formatDVD und weitere Funktionen zum Erzeugen von neuen Projekten zur Verfügung.</para>

<programlisting
>DCOPRef createDataCDProject()
DCOPRef createAudioCDProject()
DCOPRef createMixedCDProject()
DCOPRef createVideoCDProject()
DCOPRef createMovixCDProject()
DCOPRef createDataDVDProject()
DCOPRef createVideoDVDProject()
DCOPRef createMovixDVDProject()
DCOPRef openProject(KURL url)
QValueList&lt;DCOPRef&gt; projects()
DCOPRef currentProject()
void copyCd()
void copyDvd()
void eraseCdrw()
void formatDvd()
void burnCdImage(KURL url)
void burnDvdImage(KURL url)
</programlisting>

<para
>Als Ergebnis solch einer createXXXProject-Methode erhält man eine DCOP-Referenz auf das neu erzeugte Projekt: <programlisting
>DCOPRef(k3b,K3bProject-0)</programlisting
> Alternativ kann man ein Projekt über die Befehlszeile erzeugen: <screen>
<prompt
>#</prompt
> <command
>k3b</command
> <replaceable
>--audiocd</replaceable>
</screen
> und dann eine Referenz auf das Projekt erhalten mittels <screen>
<prompt
>#</prompt
> <command
>dcop</command
> <option
>k3b</option
> <option
>K3bInterface</option
> <replaceable
>currentProject</replaceable>
</screen
> Durch Verwenden dieser Referenz ist es möglich, das Projekt über <link linkend="k3bprojectinterface"
>K3bProjectInterface</link
> zu verändern.</para>

</sect1>

<sect1 id="k3bprojectinterface">
<title
>K3bProjectInterface</title>

<programlisting
>void addUrls(KURL::List urls)
void addUrl(KURL url)
void burn()
</programlisting>

<para
>K3b bietet das oben gelistete K3bProjectInterface und das leistungsstarke K3bDataProjectInterface, welches nur auf Daten-Projekte anwendbar ist (CD und DVD): <programlisting
>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)
</programlisting>
</para>

<para
>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: <programlisting
>#!/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
</programlisting>

</para>

</sect1>
</chapter>