[linux] Nokia 6230 a stahovanie obrazkov

Ondrej Jombik nepto na platon.sk
Středa Leden 26 19:10:13 CET 2005


On Wed, 26 Jan 2005, Lubomir Host wrote:

> On Wed, Jan 26, 2005 at 04:11:51PM +0100, Ondrej Jombik wrote:
>> Aj ked specifikujem IRDA, stale sa to pripaja cez Bluetooth. Co je toto
>> za softver?
>> Nepto root # strace obexftp -i -l / 2>&1 | grep socket
>> socket(PF_BLUETOOTH, SOCK_STREAM, 3)    = 3
>> [... ...]
>> socket(PF_BLUETOOTH, SOCK_STREAM, 3)    = 3
>> Nepto root #
> -----------------------------------%<-----------------------------------
> # strace obexftp -i -l / 2>&1 | grep socket
> socket(PF_IRDA, SOCK_STREAM, 0)         = 3
> [... ...]
> socket(PF_IRDA, SOCK_STREAM, 0)         = 3

Problem vyrieseny!

Vo vsetkych tych strukturach obexftp a openobex je naozaj umenie sa
vyznat. Su asi styri, do seba vnorene. Aby sa nepovedalo, kazda pouziva
vlastny system indentifikacie pripojenia.

Na vyssich urovniach to cele behalo cez "irda" funkcie, cele je to totiz
rozvetvene do mnozin funkcii (bt, irda, custom, etc.). Nakoniec sa to ale cele
stretne v jednej prijacej funkcii (sledujete ten nadherny uhladny softverovy
navrh?), ktora ale typ pripojenia rozhoduje na zaklade niecoho, co bolo
neinicializovane. Takze pri specifikacii IrDA pripojenia to skusalo Bluetooth.
Skvela pracicka...

Ironiou je funkcia irobex_prepare_connect(), ktora mala pripravit cele
pripojenie. Vsak ho aj "pripravila" :-)

void irobex_prepare_connect(obex_t *self, const char *service)
{
         self->trans.peer.irda.sir_family = AF_IRDA;
+        self->trans.type = OBEX_TRANS_IRDA;

         if (service)
                 strncpy(self->trans.peer.irda.sir_name, service, 25);
         else
                 strcpy(self->trans.peer.irda.sir_name, "OBEX");
}

Este tak najst nejaku peknu graficku nadstavbu nad obexftp, nech nemusim
parsovat XML a mam to vyriesene. Nepoznate nieco?

--
   _/|   Ondrej Jombik - nepto na php.net - http://nepto.sk - ICQ #122428216
  <_  \  Platon SDG - open source software development - http://platon.sk
    `\|  Nech operacia X na mnozine G tvori grupu, potom plati...  rundu!
     '`




Další informace o konferenci linux