|
|
<chapter id="dcop">
|
|
|
<title
|
|
|
>Справочник по &DCOP;-командам</title>
|
|
|
<para
|
|
|
>&k3b; предоставляет, как и большинство других программ &kde;, интерфейс &DCOP;, позволяющий управлять частью функций программы извне (например, из сценария оболочки).</para>
|
|
|
<para
|
|
|
>Для использования функций &DCOP;, вы можее использовать консольную программу <command
|
|
|
>dcop</command
|
|
|
> или более удобное приложение <application
|
|
|
>Kdcop</application
|
|
|
>.</para>
|
|
|
<para
|
|
|
>Далее подразумевается, что вы используете <command
|
|
|
>dcop</command
|
|
|
>. Для начала, запустите &k3b; и введите что-то типа: <screen
|
|
|
><prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>dcop</command
|
|
|
> <option
|
|
|
>k3b</option
|
|
|
> <option
|
|
|
>K3bInterface</option
|
|
|
> <replaceable
|
|
|
>[function]</replaceable
|
|
|
>
|
|
|
</screen>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Кроме стандартных &DCOP;-функций, &k3b; предоставляет следующие функции, которые разделены на две группы.</para>
|
|
|
|
|
|
<sect1>
|
|
|
<title
|
|
|
>Стандартный интерфейс K3b</title>
|
|
|
|
|
|
<para
|
|
|
>Стандартный интерфейс K3b предоставляет такую функциональность как copyCD, formatDVD, создание новых проектов.</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
|
|
|
>Методы createXXXProject возвращают ссылку на созданный проект: <programlisting
|
|
|
>DCOPRef(k3b,K3bProject-0)</programlisting
|
|
|
> Также, проект можно создать из командной строки: <screen>
|
|
|
<prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>k3b</command
|
|
|
> <replaceable
|
|
|
>--audiocd</replaceable>
|
|
|
</screen
|
|
|
> и получить ссылку на него так: <screen>
|
|
|
<prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>dcop</command
|
|
|
> <option
|
|
|
>k3b</option
|
|
|
> <option
|
|
|
>K3bInterface</option
|
|
|
> <replaceable
|
|
|
>currentProject</replaceable>
|
|
|
</screen
|
|
|
> Далее, по полученной ссылке можно манипулировать проектом с помощью <link linkend="k3bprojectinterface"
|
|
|
>K3bProjectInterface</link
|
|
|
>.</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="k3bprojectinterface">
|
|
|
<title
|
|
|
>Интерфейс проекта K3b</title>
|
|
|
|
|
|
<programlisting
|
|
|
>void addUrls(KURL::List urls)
|
|
|
void addUrl(KURL url)
|
|
|
void burn()
|
|
|
</programlisting>
|
|
|
|
|
|
<para
|
|
|
>K3b предоставляет интерфейс K3bProjectInterface для всех типов проектов и K3bDataProjectInterface для проекта CD/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
|
|
|
>Используя это можно автоматизировать добавление данных в проект. Следующий сценарий создаёт новый проект с данными, добавляет в него несколько папок, и добавляет файлы в последние: <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>
|