On Fr, 2012-01-27 at 14:55 +0100, Mikel Astiz wrote:
> From: Mikel Astiz <[email protected]>
>
> This patch series implements a simple PBAP backend.
Impressive - I wasn't expecting results that quickly. You even had to go
in and improve the C++ D-Bus binding! ;-}
I'll add that improvement also to the non-GIO version of the bindings
and change your includes/compilers flags so that it works with both.
> It consists of a TrackingSyncSource that just supports read-only
> operations, given that PBAP does not support two-way synchronization.
>
> The backend has a dependency with obexd and requires obex-client to be
> running. It uses the D-Bus API from obex-client to open a PBAP session
> and download the full phonebook.
>
> The LUID is built from the full-name of each contact, assuming that
> the field will often remain constant.
That is a limitation of the data made available by obex-client via
D-Bus, right? If I remember correctly, PBAP has a unique ID for each
item. It's not stable across sessions and thus not particularly useful
for syncing. Probably not worth exposing.
As the LUID is not used for anything, how about simply enumerating all
available contacts? That would be simpler than looking at the FN
property.
When I tried the new backend with my HTC Desire, I only got as far as a
"Permission denied" from obex-client. The obex-client debug output seems
to imply that it is the phone which rejects the access:
$ /usr/lib/obexd/obex-client -d -s
obex-client[25056]: obex-client daemon 0.42
obex-client[25056]: client/main.c:main() Entering main loop
obex-client[25056]: client/session.c:session_ref() 0x10f8e90: ref=2
obex-client[25056]: client/session.c:manager_reply() adapter
path /org/bluez/1750/hci0
obex-client[25056]: client/session.c:rfcomm_connect()
obex-client[25056]: client/session.c:rfcomm_callback()
obex-client[25056]: Permission denied (13)
obex-client[25056]: client/session.c:session_shutdown() 0x10f8e90
...
PBAB is supported:
$ sdptool search --bdaddr 90:21:55:A2:4E:AD PBAP
Searching for PBAP on 90:21:55:A2:4E:AD ...
Service Name: Phonebook Access PSE
Service RecHandle: 0x10006
Service Class ID List:
"Phonebook Access - PSE" (0x112f)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
"OBEX" (0x0008)
Profile Descriptor List:
"Phonebook Access" (0x1130)
Version: 0x0100
Any idea what might be necessary to get access to the phone book?
There's nothing in the phone's UI to enable it (Android 2.2, HTC Sense).
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution