~ubuntu-branches/ubuntu/intrepid/kdebluetooth/intrepid-proposed

« back to all changes in this revision

Viewing changes to doc/sv/developers.docbook

  • Committer: Bazaar Package Importer
  • Author(s): Anthony Mercatante
  • Date: 2008-08-07 09:49:47 UTC
  • mto: This revision was merged to the branch mainline in revision 56.
  • Revision ID: james.westby@ubuntu.com-20080807094947-pj6q3uxwuv7l844q
Tags: upstream-0.1
Import upstream version 0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<chapter id="developers">
2
 
<title
3
 
>Information för utvecklare</title>
4
 
 
5
 
<sect1 id="developers.kbluetoothd">
6
 
<title
7
 
>Kbluetoothd</title>
8
 
<para
9
 
>Detta avsnitt beskriver hur man utnyttjar Kbluetoothd i egna program, eller kommer åt det från skript för att hämta enhetsnamn i cachen eller liknande. </para>
10
 
 
11
 
<sect2>
12
 
<title
13
 
>Namncachen</title>
14
 
<para
15
 
>Namncachen spårar varje begäran om namn och sparar resultaten. Andra program och Kbluetoothd själv kan använda den för att hämta namnet på en annan Blåtandsenhet från dess unika enhetsadress, även om enheten  för närvarande inte är inom räckhåll. Detta används oftast för att göra användargränssnittet behagligare, eftersom Blåtandsadresser som 00:60:AB:13:83:3D är något svåra att komma ihåg. </para>
16
 
<para
17
 
>Den blir möjligen föråldrad så fort BlueZ levereras med sin egen bestående namncache. </para>
18
 
<para
19
 
>Du kan komma åt namncachen via DCOP. För att slå upp en adress i namncachen från kommandoraden, skriv <command
20
 
>dcop kbluetoothd DeviceNameCache getCachedDeviceName &lt;adress&gt;</command
21
 
>. För att ta reda på vilken enhet som senast använde ett givet namn, kan du skriva <command
22
 
>dcop kbluetoothd DeviceNameCache resolveCachedDeviceName &lt;namn&gt;</command
23
 
>. Kommandot är inte skiftlägeskänsligt. Var också medveten om att flera enheter kan vara inställda att använda samma namn. </para>
24
 
</sect2>
25
 
 
26
 
<sect2>
27
 
<title
28
 
>Metaservern</title>
29
 
<para
30
 
>Om du vill implementera ett serverprogram för ett nytt Blåtandsprotokoll, kan du enkelt integrera det med Kbluetoothd så att din server startas automatiskt. </para>
31
 
<para
32
 
>Du måste tillhandahålla en XML-fil som beskriver SDP-posten och en motsvarande skrivbordsfil. Då skapar Kbluetoothd automatiskt en SDP-post, tilldelar en rfcomm-kanal och börjar lyssna på vald kanal. När någon ansluter till din tjänst, startar Kbluetoothd den och skickar med ett uttag för den redan accepterade anslutningen till den. Handtagsnumret skickas som en kommandoradsväljare. </para>
33
 
<para
34
 
>Kdebluetooth-paketet innehåller <command
35
 
>kbtserialchat</command
36
 
> som (förutom dess användning för felsökning och kanske till och med chatt) är avsett som ett ganska enkelt exempelprogram för att visa hur ett program integreras i Kdebluetooth-ramverket. Eftersom kbtserialchat är en klient och server samtidigt, behöver du inte ta hänsyn till alla kommandoradsväljare som kbtserialchat gör, särskilt inte SDP-webbadresser. </para>
37
 
<para
38
 
>Formatet på SDP XML-filerna bör vara ganska självförklarande, om du känner till hur SDP-poster är strukturerade. En viktig sak är hur parametrarna för de valda rfcomm-kanalerna tar sig fram till serverns SDP-post. Eftersom kanalerna väljes automatiskt av Kbluetoothd, kan man inte direktkoda dem i SDP-registreringsfilen. Istället använder man &lt;uint valref='rfcommchannel' size='8'/&gt; som platsmarkör. De rfcomm-kanaler som kopplas definieras i motsvarande skrivbordsfil. Den första kanalen som provas är <varname
39
 
>X-KDE-KBLUETOOTHD-port</varname
40
 
> och <varname
41
 
>X-KDE-KBLUETOOTHD-autoPortRange</varname
42
 
> anger antalet efterföljande kanaler som provas i stigande ordning om en kanal redan används av en annan tjänst. </para>
43
 
<para
44
 
>Kbluetoothd stöder för närvarande bara rfcomm, men när det finns behov kommer vi också att tillhandahålla stöd för l2cap eller liknande. </para>
45
 
</sect2>
46
 
 
47
 
<sect2 id="developers.kbluetoothd.discovery">
48
 
<title
49
 
>Tjänsten för att upptäcka enheter</title>
50
 
<para
51
 
>Kbluetoothd kan aktivt söka efter andra enheter och köra kommandon så fort en enhet detekteras eller försvinner. Du kan ställa in tjänsten i Kbluetoothds modul i Inställningscentralen under fliken "Upptäcka enheter". </para>
52
 
<para
53
 
>Listan med <emphasis
54
 
>aktiva</emphasis
55
 
> upptäcktsjobb som visas i Inställningscentralens modul är bara en lista över körbara filer som finns i katalogen <filename
56
 
>$HOME/.kde/share/apps/kbluetoothd/discovery_jobs/</filename
57
 
>. Du kan också lägga till nya skript i den globala mallkatalogen <filename
58
 
>$PREFIX/share/apps/kdebluetooth/job-templates/</filename
59
 
>. Skripten i den här katalogen som slutar med ".template" visas när användaren klickar på "Lägg till nytt jobb..." och kopieras helt enkelt till katalogen med aktiva jobb i användarens hemkatalog. </para>
60
 
<para
61
 
>Skripten som ingår är uppdelade i två för att göra det enklare att uppdatera dem utan att behöva installera om dem. Malldelen ".template" innehåller bara inställningarna som kan ändras av användaren, och kopieras till hemkatalogen. Skriptet anropar sedan den riktiga delen ".real" som finns kvar i mallkatalogen. </para>
62
 
<para
63
 
>För att börja skriva ett eget upptäcktsjobb, klicka på "Lägg till nytt jobb..." och välj <phrase
64
 
>Custom_Job</phrase
65
 
>. Då kopieras <filename
66
 
>Custom_Job.template</filename
67
 
> till din jobbkatalog. Klicka nu på "Anpassa..." för att ändra skriptet. Skriptet listar alla möjliga kommandoradsväljare och miljövariabler som du har tillgång till. </para>
68
 
<para
69
 
>Var medveten om att när du redigerar det egna skriptet, försvinner alla ändringar om du tar bort det från listan över aktiva jobb. Om du vill sprida det, rekommenderar vi att du också delar det i en malldel för inställningarna och en riktig del som gör själva arbetet. </para>
70
 
 
71
 
<para
72
 
>För att kunna ladda upp, ladda ner eller ta bort filer inne i ett sådant upptäcktsjobb, kan du använda <link linkend="components.othertools.kioclient"
73
 
>kioclient</link
74
 
>. </para>
75
 
<para
76
 
>Om du skrivit något häftigt skript till tjänsten för att upptäcka enheter, som kan vara användbart för andra, inkluderar vi det med glädje i distributionen. </para>
77
 
</sect2>
78
 
 
79
 
</sect1>
80
 
</chapter>
81