This patch introduces phonebook_addr struct for more intuitive
handling address fields from backend. Now address fields are managed
by linked list (wrapped by structure) and it is used for printing vCard
address fields, instead of buffers set (combined with g_strsplit
and snprintf functions).
Application which stores contact data changed way that URL data is
stored. Now it is possible for contact to have more than one URL defined
with different types. Place where these URL are stored has also changed
in db. This fix changes handling for URL in PBAP to make URLs visible in
pull results again.
Structures for holding data about phone numbers, emails and addresses
were practically identical and there was no sense to handle them
differently. Now for saving informations about field content and type
struct "phonebook_field" is used.
After pulling contacts this field wasn't presented in downloaded vCard
structure in spite of that it existed (not empty). Now it shows downloaded
TITLE field (using database query).
After pulling contacts this field wasn't presented in downloaded vCard
structure in spite of that it existed (not empty). Now it shows downloaded
UID (using database query).
After pulling contacts only fields (pobox, extended, street, locality,
region, postal, country) of one address were present in downloaded vCard
structure (under ADR tag) in spite of that there can be more adresses
stored on phonebook. To solve this problem extending number of columns and
queries of database was needed especially. Distinguish between two types
of address (HOME and WORK) is supported.
So far in code all seven address fields (pobox, extended, street,
locality, region, postal, country) was represented separately. In the
vCard structure address is represented by one field so all mentioned
fields can be merged into a single field.
Previously all emails sent during phonebook pull had the same
category INTERNET. Now email are sent with valid category name
(INTERNET;HOME or INTERNET;WORK)
After pulling contacts these fields weren't present in downloaded
VCARD structure in spite of that these fields existed (not empty).
This patch adds handling of fields grouped under ORG tag.
To solve this problem extending number of columns and queries of database
was needed especially. Of course fields mentioned above were added to
phonebook_contact structure as char * type to save gained data.
After pulling contacts these fields weren't present in downloaded
VCARD structure in spite of that these fields existed (not empty).
This patch adds handling of fields: BDAY, NICKNAME, URL, PHOTO
To solve this problem extending number of columns and queries of database
was needed especially. Displaying these fields is done by genaral
functions: vcard_printf_tag, vcard_printf_slash_tag.
Of course fields mentioned above were added to phonebook_contact structure
as char * type to save gained data.
Previously only one email appeared in generated vcard, even if contact
had defined multiple email addresses in contact data.
Changed vcard struct and phonebook-tracker pull_contacts func to support
multiple emails.
This adds support for retrieving contact information from Tracker's
(http://projects.gnome.org/tracker/) data storage. Only the main
phonebook (telecom/pb) is implemented.
The code for dealing with vCards (vcard.c and vcard.h) was stolen from
oFono.