diff options
Diffstat (limited to 'src/lib-storage/index/index-sync-changes.h')
-rw-r--r-- | src/lib-storage/index/index-sync-changes.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib-storage/index/index-sync-changes.h b/src/lib-storage/index/index-sync-changes.h new file mode 100644 index 0000000..e6f5d47 --- /dev/null +++ b/src/lib-storage/index/index-sync-changes.h @@ -0,0 +1,28 @@ +#ifndef INDEX_SYNC_CHANGES_H +#define INDEX_SYNC_CHANGES_H + +struct index_sync_changes_context * +index_sync_changes_init(struct mail_index_sync_ctx *index_sync_ctx, + struct mail_index_view *sync_view, + struct mail_index_transaction *sync_trans, + bool dirty_flag_updates); +void index_sync_changes_deinit(struct index_sync_changes_context **_ctx); + +void index_sync_changes_reset(struct index_sync_changes_context *ctx); +void index_sync_changes_delete_to(struct index_sync_changes_context *ctx, + uint32_t last_uid); + +void index_sync_changes_read(struct index_sync_changes_context *ctx, + uint32_t uid, bool *sync_expunge_r, + guid_128_t expunged_guid_128); +bool index_sync_changes_have(struct index_sync_changes_context *ctx); +uint32_t +index_sync_changes_get_next_uid(struct index_sync_changes_context *ctx); + +void index_sync_changes_apply(struct index_sync_changes_context *ctx, + pool_t pool, uint8_t *flags, + ARRAY_TYPE(keyword_indexes) *keywords, + enum mail_index_sync_type *sync_type_r) + ATTR_NULL(2); + +#endif |