<chapter id="developers">
  <title>Information for Developers and Advanced Users of &k3b;</title>
  <para>&k3b; features, like many other &kde; applications as well, a
    &DCOP; interface which makes it possible to control a part of it's
    functionality from &eg; a shellscript.</para>
  <para>To use these &DCOP; functions you can either use the
    <command>dcop</command> commandline program or the more convenient
    <application>Kdcop</application> application. Both provide the same
    functionality so it's mostly a matter of taste and context of usage when
    deciding which way to choose.</para>
  <para>This chapter assumes that you're using the <command>dcop</command>
    commandline program. To access &k3b;'s &DCOP; functions, make sure that
    &k3b; is started and then enter something like this at a console:</para>
  <screen width="40">
    <prompt>%</prompt> <userinput><command>dcop</command> <option>k3b-X</option> <option>K3bInterface</option> <option>[function]</option></userinput>
  </screen>

  <note>
    <para>If an error message appears telling you that <command>dcop</command>
      couldn't be found or executed, please ensure that the
      <command>dcop</command> binary is in <filename
        class="directory">$<envar>KDEDIR</envar>/bin</filename> and that that directory is in
      your $<envar>PATH</envar>. Also, make sure the permissions for that file are
      appropriately set (that your user can execute that file).</para>
  </note>

  <para>In that command line, just replace <quote>X</quote> with the actual
    number of the &k3b; process and <quote>[function]</quote> with the
    respective name of the function you'd like to call.</para>

  <sect1 id="dcopref">
    <title>&DCOP; Interface Reference</title>
    <para>Besides the generic &DCOP; functions available to all &kde;
      programs, &k3b; features the following functions which are specific
      to it.</para>
    <variablelist>
      <varlistentry>
        <term><command>DCOPRefcreateAudioCDProject</command></term>
        <listitem>
          <para></para>
          <para>Example:</para>
          <screen width="40">
            <prompt>%</prompt> <userinput><command>echo</command> `<option>k3b-31754</option> <option>K3bInterface</option> <option>DCOPRefcreateAudioCDProject</option>`</userinput>
          </screen>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>DCOPRefcreateDataCDProject</command></term>
        <listitem>
          <para></para>
          <para>Example:</para>
          <screen width="40">
            <prompt>%</prompt> <userinput><command>echo</command> `<option>k3b-31754</option> <option>K3bInterface</option> <option>DCOPRefcreateDataCDProject</option>`</userinput>
          </screen>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>DCOPRefcreateDataDVDProject</command></term>
        <listitem>
          <para></para>
          <para>Example:</para>
          <screen width="40">
            <prompt>%</prompt> <userinput><command>echo</command> `<option>k3b-31754</option> <option>K3bInterface</option> <option>DCOPRefcreateDataDVDProject</option>`</userinput>
          </screen>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>DCOPRefcreateMixedCDProject</command></term>
        <listitem>
          <para></para>
          <para>Example:</para>
          <screen width="40">
            <prompt>%</prompt> <userinput><command>echo</command> `<option>k3b-31754</option> <option>K3bInterface</option> <option>DCOPRefcreateMixedCDProject</option>`</userinput>
          </screen>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>DCOPRefcreateMovixCDProject</command></term>
        <listitem>
          <para></para>
          <para>Example:</para>
          <screen width="40">
            <prompt>%</prompt> <userinput><command>echo</command> `<option>k3b-31754</option> <option>K3bInterface</option> <option>DCOPRefcreateMovixCDProject</option>`</userinput>
          </screen>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>DCOPRefcreateVideoCDProject</command></term>
        <listitem>
          <para></para>
          <para>Example:</para>
          <screen width="40">
            <prompt>%</prompt> <userinput><command>echo</command> `<option>k3b-31754</option> <option>DCOPRefcreateVideoCDProject</option> <option>DCOPRefcreateVideoCDProject</option>`</userinput>
          </screen>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>DCOPRefopenDocument(KURL url)</command></term>
        <listitem>
          <para></para>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>QCStringList interfaces</command></term>
        <listitem>
          <para></para>
        </listitem>
      </varlistentry>
      
      <varlistentry>
        <term><command>QValueList&lt;DCOPRef&gt; projects</command></term>
        <listitem>
          <para></para>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect1>
</chapter>

