summaryrefslogtreecommitdiff
path: root/plugins/phonebook-tracker.c
diff options
context:
space:
mode:
authorBartosz Szatkowski <bulislaw@linux.com>2011-07-13 16:20:04 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2011-07-14 16:40:51 +0300
commitfe5136409909b2de20b67228e7bdbebd7148e992 (patch)
treeee3ab3fc891c4432aa14ccebd836627acd0fecc0 /plugins/phonebook-tracker.c
parentc23fc4b0305c8fc1b8660e960e4b8342f35f97d2 (diff)
downloadobexd-fe5136409909b2de20b67228e7bdbebd7148e992.tar.gz
Add X-IRMC-CALL-DATETIME to single vCard pull
Previously when pulling single vCard there was no difference between pulling contact or call, now there are separate queries and additional previously missing data are being sent.
Diffstat (limited to 'plugins/phonebook-tracker.c')
-rw-r--r--plugins/phonebook-tracker.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/phonebook-tracker.c b/plugins/phonebook-tracker.c
index cab3822..d1f4cd7 100644
--- a/plugins/phonebook-tracker.c
+++ b/plugins/phonebook-tracker.c
@@ -75,6 +75,7 @@
#define COL_ANSWERED 21
#define CONTACTS_ID_COL 22
#define CONTACT_ID_PREFIX "urn:uuid:"
+#define CALL_ID_PREFIX "message:"
#define FAX_NUM_TYPE "http://www.semanticdesktop.org/ontologies/2007/03/22/nco#FaxNumber"
#define MOBILE_NUM_TYPE "http://www.semanticdesktop.org/ontologies/2007/03/22/nco#CellPhoneNumber"
@@ -181,7 +182,7 @@ CONSTRAINT \
"} "
#define CALLS_LIST(CONSTRAINT) \
-"SELECT ?_contact nco:nameFamily(?_contact) " \
+"SELECT ?_call nco:nameFamily(?_contact) " \
"nco:nameGiven(?_contact) nco:nameAdditional(?_contact) " \
"nco:nameHonorificPrefix(?_contact) " \
"nco:nameHonorificSuffix(?_contact) " \
@@ -277,6 +278,10 @@ CALLS_CONSTRAINTS(CONSTRAINT) \
" ?_call nmo:isSent true " \
"} "
+#define CALL_URI_CONSTRAINT \
+COMBINED_CONSTRAINT \
+"FILTER (?_call = <%s>) "
+
#define MISSED_CALLS_QUERY CALLS_QUERY(MISSED_CONSTRAINT)
#define MISSED_CALLS_LIST CALLS_LIST(MISSED_CONSTRAINT)
#define INCOMING_CALLS_QUERY CALLS_QUERY(INCOMING_CONSTRAINT)
@@ -285,6 +290,7 @@ CALLS_CONSTRAINTS(CONSTRAINT) \
#define OUTGOING_CALLS_LIST CALLS_LIST(OUTGOING_CONSTRAINT)
#define COMBINED_CALLS_QUERY CALLS_QUERY(COMBINED_CONSTRAINT)
#define COMBINED_CALLS_LIST CALLS_LIST(COMBINED_CONSTRAINT)
+#define CONTACT_FROM_CALL_QUERY CALLS_QUERY(CALL_URI_CONSTRAINT)
#define CONTACTS_QUERY_FROM_URI \
"SELECT " \
@@ -1611,6 +1617,8 @@ void *phonebook_get_entry(const char *folder, const char *id,
g_strcmp0(id, TRACKER_DEFAULT_CONTACT_ME) == 0)
query = g_strdup_printf(CONTACTS_QUERY_FROM_URI, id, id, id, id,
id, id, id, id, id, id, id, id, id);
+ else if (g_str_has_prefix(id, CALL_ID_PREFIX) == TRUE)
+ query = g_strdup_printf(CONTACT_FROM_CALL_QUERY, id);
else
query = g_strdup_printf(CONTACTS_OTHER_QUERY_FROM_URI,
id, id, id);