From 9a117c332e2798ca18088044d07b26afe946f57b Mon Sep 17 00:00:00 2001 From: Sunil Kumar Behera Date: Thu, 13 Sep 2012 19:14:24 +0530 Subject: [PATCH] obexd: Add set delete status function This function will inform MAP server to modify the delete status of a given message. --- obexd/plugins/mas.c | 4 ++++ obexd/plugins/messages-dummy.c | 7 +++++++ obexd/plugins/messages-tracker.c | 7 +++++++ obexd/plugins/messages.h | 15 +++++++++++++++ 4 files changed, 33 insertions(+) diff --git a/obexd/plugins/mas.c b/obexd/plugins/mas.c index c47465fbb..8105413d3 100644 --- a/obexd/plugins/mas.c +++ b/obexd/plugins/mas.c @@ -47,6 +47,7 @@ #include "messages.h" #define READ_STATUS_REQ 0 +#define DELETE_STATUS_REQ 1 /* Channel number according to bluez doc/assigned-numbers.txt */ #define MAS_CHANNEL 16 @@ -696,6 +697,9 @@ static void *message_set_status_open(const char *name, int oflag, mode_t mode, if (indicator == READ_STATUS_REQ) *err = messages_set_read(mas->backend_data, name, value, set_status_cb, mas); + else if (indicator == DELETE_STATUS_REQ) + *err = messages_set_delete(mas->backend_data, name, value, + set_status_cb, mas); else *err = -EBADR; diff --git a/obexd/plugins/messages-dummy.c b/obexd/plugins/messages-dummy.c index 78e20ae12..e498784c5 100644 --- a/obexd/plugins/messages-dummy.c +++ b/obexd/plugins/messages-dummy.c @@ -359,6 +359,13 @@ int messages_set_read(void *session, const char *handle, uint8_t value, return -ENOSYS; } +int messages_set_delete(void *session, const char *handle, uint8_t value, + messages_set_delete_cb callback, + void *user_data) +{ + return -ENOSYS; +} + void messages_abort(void *s) { struct session *session = s; diff --git a/obexd/plugins/messages-tracker.c b/obexd/plugins/messages-tracker.c index 1516dc7a2..2c7541be0 100644 --- a/obexd/plugins/messages-tracker.c +++ b/obexd/plugins/messages-tracker.c @@ -333,6 +333,13 @@ int messages_set_read(void *session, const char *handle, uint8_t value, return -ENOSYS; } +int messages_set_delete(void *session, const char *handle, uint8_t value, + messages_set_delete_cb callback, + void *user_data) +{ + return -ENOSYS; +} + void messages_abort(void *session) { } diff --git a/obexd/plugins/messages.h b/obexd/plugins/messages.h index 45579d30d..a514514ba 100644 --- a/obexd/plugins/messages.h +++ b/obexd/plugins/messages.h @@ -293,6 +293,21 @@ typedef void (*messages_set_read_cb)(void *session, int err, void *user_data); int messages_set_read(void *session, const char *handle, uint8_t value, messages_set_read_cb callback, void *user_data); +/* Informs Message Server to modify delete status of a given message. + * + * session: Backend session. + * handle: Unique identifier to the message. + * value: Indicates the new value of the delete status for a given message. + * Callback shall be called for every delete status update request + * recieved from MCE. + * user_data: User data if any to be sent. + */ +typedef void (*messages_set_delete_cb)(void *session, int err, void *user_data); + +int messages_set_delete(void *session, const char *handle, uint8_t value, + messages_set_delete_cb callback, + void *user_data); + /* Aborts currently pending request. * * session: Backend session. -- 2.47.3