summaryrefslogtreecommitdiffstats
path: root/src/plugins/push-notification/push-notification-txn-msg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/push-notification/push-notification-txn-msg.h')
-rw-r--r--src/plugins/push-notification/push-notification-txn-msg.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/plugins/push-notification/push-notification-txn-msg.h b/src/plugins/push-notification/push-notification-txn-msg.h
new file mode 100644
index 0000000..777f115
--- /dev/null
+++ b/src/plugins/push-notification/push-notification-txn-msg.h
@@ -0,0 +1,39 @@
+/* Copyright (c) 2015-2018 Dovecot authors, see the included COPYING file */
+
+#ifndef PUSH_NOTIFICATION_TXN_MSG_H
+#define PUSH_NOTIFICATION_TXN_MSG_H
+
+struct mail_transaction_commit_changes;
+struct push_notification_event_config;
+struct push_notification_txn;
+struct push_notification_txn_event;
+
+struct push_notification_txn_msg {
+ const char *mailbox;
+ uint32_t uid;
+ uint32_t uid_validity;
+
+ ARRAY(struct push_notification_txn_event *) eventdata;
+
+ /* Private */
+ unsigned int save_idx;
+};
+
+struct push_notification_txn_msg *
+push_notification_txn_msg_create(struct push_notification_txn *txn,
+ struct mail *mail);
+void push_notification_txn_msg_end(
+ struct push_notification_txn *ptxn,
+ struct mail_transaction_commit_changes *changes);
+
+void *
+push_notification_txn_msg_get_eventdata(struct push_notification_txn_msg *msg,
+ const char *event_name);
+void push_notification_txn_msg_set_eventdata(
+ struct push_notification_txn *txn,
+ struct push_notification_txn_msg *msg,
+ struct push_notification_event_config *event, void *data);
+void push_notification_txn_msg_deinit_eventdata(
+ struct push_notification_txn_msg *msg);
+
+#endif