[MAP 2/2] obexd/client/map : Handle MAP ReadStatusChanged event type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Adds ReadStatusChanged MCE event type handling in map_handle_notification()
---
 obexd/client/map.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/obexd/client/map.c b/obexd/client/map.c
index 520e492..a505707 100644
--- a/obexd/client/map.c
+++ b/obexd/client/map.c
@@ -1872,6 +1872,25 @@ static void map_handle_status_changed(struct map_data *map,
 								"Status");
 }
 
+static void map_handle_read_status_changed(struct map_data *map,
+                                                        struct map_event *event)
+{
+	struct map_msg *msg;
+
+	msg = g_hash_table_lookup(map->messages, &event->handle);
+	if (msg == NULL)
+		return;
+
+	/* In MAP V 1.2 specification : ReadStatusChanged event didn't have  clear explaination.
+	So as of now it will set the message read status as "yes" if it was "no" already
+	and the other way round. This implementation may change once we get 'read' attribute in the event report. */
+
+	if(msg->flags & MAP_MSG_FLAG_READ)
+		parse_read(msg,"no");
+	else
+		parse_read(msg,"yes");
+}
+
 static void map_handle_folder_changed(struct map_data *map,
 							struct map_event *event,
 							const char *folder)
@@ -1927,6 +1946,9 @@ static void map_handle_notification(struct map_event *event, void *user_data)
 	case MAP_ET_MESSAGE_SHIFT:
 		map_handle_folder_changed(map, event, event->folder);
 		break;
+	case MAP_ET_READ_STATUS_CHANGED:
+		map_handle_read_status_changed(map, event);
+		break;
 	default:
 		break;
 	}
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux