2014-10-15 13:39:41

by Gowtham Anandha Babu

[permalink] [raw]
Subject: [PBAP 1/2] obexd/client/pbap: Add support for spd,fav in PBAP

Add support for the speed-dial and favorite entries in PBAP.
---
doc/obex-api.txt | 2 ++
obexd/client/pbap.c | 10 +++++++---
obexd/plugins/phonebook.h | 4 ++++
3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/doc/obex-api.txt b/doc/obex-api.txt
index f80ef39..4439a41 100644
--- a/doc/obex-api.txt
+++ b/doc/obex-api.txt
@@ -341,6 +341,8 @@ Methods void Select(string location, string phonebook)
"och": outgoing call history
"mch": missing call history
"cch": combination of ich och mch
+ "spd": speed dials entry ( only for "internal" )
+ "fav": favorites entry ( only for "internal" )

Possible errors: org.bluez.obex.Error.InvalidArguments
org.bluez.obex.Error.Failed
diff --git a/obexd/client/pbap.c b/obexd/client/pbap.c
index 2089860..614616c 100644
--- a/obexd/client/pbap.c
+++ b/obexd/client/pbap.c
@@ -183,11 +183,13 @@ static const GMarkupParser listing_parser = {
static char *build_phonebook_path(const char *location, const char *item)
{
char *path = NULL, *tmp, *tmp1;
+ int int_telecom = 0;

if (!g_ascii_strcasecmp(location, "int") ||
- !g_ascii_strcasecmp(location, "internal"))
+ !g_ascii_strcasecmp(location, "internal")) {
path = g_strdup("/telecom");
- else if (!g_ascii_strncasecmp(location, "sim", 3)) {
+ int_telecom = 1;
+ } else if (!g_ascii_strncasecmp(location, "sim", 3)) {
if (strlen(location) == 3)
tmp = g_strdup("sim1");
else
@@ -202,7 +204,9 @@ static char *build_phonebook_path(const char *location, const char *item)
!g_ascii_strcasecmp(item, "ich") ||
!g_ascii_strcasecmp(item, "och") ||
!g_ascii_strcasecmp(item, "mch") ||
- !g_ascii_strcasecmp(item, "cch")) {
+ !g_ascii_strcasecmp(item, "cch") ||
+ (int_telecom && !g_ascii_strcasecmp(item, "spd")) ||
+ (int_telecom && !g_ascii_strcasecmp(item, "fav"))) {
tmp = path;
tmp1 = g_ascii_strdown(item, -1);
path = g_build_filename(tmp, tmp1, NULL);
diff --git a/obexd/plugins/phonebook.h b/obexd/plugins/phonebook.h
index fff33c1..70a9cb7 100644
--- a/obexd/plugins/phonebook.h
+++ b/obexd/plugins/phonebook.h
@@ -37,6 +37,8 @@
#define PB_CALLS_INCOMING_FOLDER "/telecom/ich"
#define PB_CALLS_MISSED_FOLDER "/telecom/mch"
#define PB_CALLS_OUTGOING_FOLDER "/telecom/och"
+#define PB_CALLS_SPEEDDIAL_FOLDER "/telecom/spd"
+#define PB_CALLS_FAVORITE_FOLDER "/telecom/fav"
#define PB_LUID_FOLDER "/telecom/pb/luid"

#define PB_CONTACTS "/telecom/pb.vcf"
@@ -44,6 +46,8 @@
#define PB_CALLS_INCOMING "/telecom/ich.vcf"
#define PB_CALLS_MISSED "/telecom/mch.vcf"
#define PB_CALLS_OUTGOING "/telecom/och.vcf"
+#define PB_CALLS_SPEEDDIAL "/telecom/spd.vcf"
+#define PB_CALLS_FAVORITE "/telecom/fav.vcf"
#define PB_DEVINFO "/telecom/devinfo.txt"
#define PB_INFO_LOG "/telecom/pb/info.log"
#define PB_CC_LOG "/telecom/pb/luid/cc.log"
--
1.9.1



2014-10-15 13:39:42

by Gowtham Anandha Babu

[permalink] [raw]
Subject: [PBAP 2/2] obexd/client/pbap: Adds few attributes to property mask

Adds the below attributes for property mask:
1) Speed-dial
2) Uniform Caller Identifier
3) Unique Identifier
---
obexd/client/pbap.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/obexd/client/pbap.c b/obexd/client/pbap.c
index 614616c..fe0602e 100644
--- a/obexd/client/pbap.c
+++ b/obexd/client/pbap.c
@@ -103,6 +103,9 @@ static const char *filter_list[] = {
"CLASS",
"SORT-STRING",
"X-IRMC-CALL-DATETIME",
+ "X-BT-SPEEDDIALKEY",
+ "X-BT-UCI",
+ "X-BT-UID",
NULL
};

--
1.9.1