summaryrefslogtreecommitdiff
path: root/obexd
diff options
context:
space:
mode:
authorGowtham Anandha Babu <gowtham.ab@samsung.com>2014-09-16 18:20:03 +0530
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2014-09-17 11:16:37 +0300
commit7e03d3d92f726176718d855b771c95702726014c (patch)
tree736bf923ab98ed6b0b8ecd38ca094499cbf41534 /obexd
parent6616acfe8206ede4054b9be2a8821e6a8b59f7a0 (diff)
downloadbluez-7e03d3d92f726176718d855b771c95702726014c.tar.gz
obexd/client: Add support for MAP Event Report 1.1
This adds support for Event Report 1.1 of MAP 1.2 which includes the following atributes: Subject, datetime, sender_name, priority.
Diffstat (limited to 'obexd')
-rw-r--r--obexd/client/map-event.h4
-rw-r--r--obexd/client/mns.c36
2 files changed, 40 insertions, 0 deletions
diff --git a/obexd/client/map-event.h b/obexd/client/map-event.h
index ba5d5d254..5414b2621 100644
--- a/obexd/client/map-event.h
+++ b/obexd/client/map-event.h
@@ -41,6 +41,10 @@ struct map_event {
char *folder;
char *old_folder;
char *msg_type;
+ char *datetime;
+ char *subject;
+ char *sender_name;
+ char *priority;
};
/* Handle notification in map client.
diff --git a/obexd/client/mns.c b/obexd/client/mns.c
index 76b7d1ce1..43b05026c 100644
--- a/obexd/client/mns.c
+++ b/obexd/client/mns.c
@@ -217,6 +217,34 @@ static void parse_event_report_msg_type(struct map_event *event,
event->msg_type = g_strdup(value);
}
+static void parse_event_report_date_time(struct map_event *event,
+ const char *value)
+{
+ g_free(event->datetime);
+ event->datetime = g_strdup(value);
+}
+
+static void parse_event_report_subject(struct map_event *event,
+ const char *value)
+{
+ g_free(event->subject);
+ event->subject = g_strdup(value);
+}
+
+static void parse_event_report_sender_name(struct map_event *event,
+ const char *value)
+{
+ g_free(event->sender_name);
+ event->sender_name = g_strdup(value);
+}
+
+static void parse_event_report_priority(struct map_event *event,
+ const char *value)
+{
+ g_free(event->priority);
+ event->priority = g_strdup(value);
+}
+
static struct map_event_report_parser {
const char *name;
void (*func) (struct map_event *event, const char *value);
@@ -226,6 +254,10 @@ static struct map_event_report_parser {
{ "folder", parse_event_report_folder },
{ "old_folder", parse_event_report_old_folder },
{ "msg_type", parse_event_report_msg_type },
+ { "datetime", parse_event_report_date_time },
+ { "subject", parse_event_report_subject },
+ { "sender_name", parse_event_report_sender_name },
+ { "priority", parse_event_report_priority },
{ }
};
@@ -268,6 +300,10 @@ static void map_event_free(struct map_event *event)
g_free(event->folder);
g_free(event->old_folder);
g_free(event->msg_type);
+ g_free(event->datetime);
+ g_free(event->subject);
+ g_free(event->sender_name);
+ g_free(event->priority);
g_free(event);
}