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