>Os recursos do &k3b;, como o de diversos outros aplicativos &kde;, fornecem uma interface &DCOP; que torna possível controlar um parte de suas funcionalidades a partir de ⪚ um script shell.</para>
<para
>Para usar estas funções &DCOP; você pode tanto usar o programa de linha de comando <command
>dcop</command
> ou o mais conveniente aplicativo <application
>Kdcop</application
>. Ambos fornecem a mesma funcionalidade de modo que o que importa é a preferência ou contexto de uso ao decidir qual usar.</para>
<para
>Este capítule considera que você está usando o programa de linha de comando <command
>dcop</command
>. Para acessar as funções &DCOP; do &k3b;, certifique-se de que o &k3b; foi iniciado e então insira em um console algo como isto: <screen
><prompt
>#</prompt
> <command
>dcop</command
> <option
>k3b</option
> <option
>K3bInterface</option
> <replaceable
>[função]</replaceable
>
</screen>
</para>
<para
>Além das funções &DCOP; genéricas disponíveis em todos os programas do &kde;, o &k3b; consiste em duas partes principais, como é descrito abaixo.</para>
<sect1>
<title
>A interface padrão do K3b</title>
<para
>A interface de DCOP padrão do DCOP oferece funcionalidades do tipo 'copyCD', 'formatDVD', bem como métodos para criar projetos novos.</para>
<programlisting
>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)
</programlisting>
<para
>Como resultado de um dos métodos 'createXXXProject', obtém-se uma referência de DCOP ao projeto recém criado: <programlisting
>DCOPRef(k3b,K3bProject-0)</programlisting
> Em alternativa, poderá criar um projeto com a linha de comando: <screen>
<prompt
>#</prompt
> <command
>k3b</command
> <replaceable
>--audiocd</replaceable>
</screen
> e então obter uma referência para este projeto com <screen>
<prompt
>#</prompt
> <command
>dcop</command
> <option
>k3b</option
> <option
>K3bInterface</option
> <replaceable
>currentProject</replaceable>
</screen
> Se usar esta referência, é possível manipular o projeto com a <link linkend="k3bprojectinterface"
>K3bProjectInterface</link
>.</para>
</sect1>
<sect1 id="k3bprojectinterface">
<title
>K3bProjectInterface</title>
<programlisting
>void addUrls(KURL::List urls)
void addUrl(KURL url)
void burn()
</programlisting>
<para
>O K3b oferece a K3bProjectInterface listada acima, ou então a K3bDataProjectInterface, mais poderosa, que só se aplica aos projetos de dados (CD e DVD): <programlisting
>Usando estes métodos, é possível preencher um projeto de dados com os arquivos e pastas de um programa. O exemplo a seguir cria um novo projeto de dados, adiciona várias pastas ao projeto e adiciona arquivos às pastas acabadas de criar: <programlisting