Mercurial > dovecot > core-2.2
view src/plugins/push-notification/push-notification-event-messageread.c @ 22713:cb108f786fb4
Updated copyright notices to include the year 2018.
author | Stephan Bosch <stephan.bosch@dovecot.fi> |
---|---|
date | Mon, 01 Jan 2018 22:42:08 +0100 |
parents | 2e2563132d5f |
children |
line wrap: on
line source
/* Copyright (c) 2015-2018 Dovecot authors, see the included COPYING file */ #include "lib.h" #include "mail-storage.h" #include "mail-types.h" #include "push-notification-drivers.h" #include "push-notification-events.h" #include "push-notification-event-messageread.h" #include "push-notification-txn-msg.h" #define EVENT_NAME "MessageRead" static void push_notification_event_messageread_debug_msg (struct push_notification_txn_event *event ATTR_UNUSED) { i_debug("%s: Message was flagged as seen", EVENT_NAME); } static void push_notification_event_messageread_event( struct push_notification_txn *ptxn, struct push_notification_event_config *ec, struct push_notification_txn_msg *msg, struct mail *mail, enum mail_flags old_flags) { struct push_notification_event_messageread_data *data; enum mail_flags flags; /* If data struct exists, that means the read flag was changed. */ data = push_notification_txn_msg_get_eventdata(msg, EVENT_NAME); if ((data == NULL) && !(old_flags & MAIL_SEEN)) { flags = mail_get_flags(mail); if (flags & MAIL_SEEN) { data = p_new(ptxn->pool, struct push_notification_event_messageread_data, 1); data->read = TRUE; push_notification_txn_msg_set_eventdata(ptxn, msg, ec, data); } } } /* Event definition */ extern struct push_notification_event push_notification_event_messageread; struct push_notification_event push_notification_event_messageread = { .name = EVENT_NAME, .msg = { .debug_msg = push_notification_event_messageread_debug_msg }, .msg_triggers = { .flagchange = push_notification_event_messageread_event } };