Mercurial > dovecot > core-2.2
view src/lib-storage/index/dbox-single/sdbox-file.h @ 12312:28eaaa23f2c6
lib-storage: Added support for saving mail attachments separately via filesystem API.
Currently this works only with sdbox and mdbox backends.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 19 Oct 2010 18:47:17 +0100 |
parents | 8ec35eb6d7b3 |
children | 099925543768 |
line wrap: on
line source
#ifndef SDBOX_FILE_H #define SDBOX_FILE_H #include "dbox-file.h" struct sdbox_file { struct dbox_file file; struct sdbox_mailbox *mbox; /* 0 while file is being created */ uint32_t uid; /* list of attachment paths while saving/copying message */ pool_t attachment_pool; ARRAY_TYPE(const_string) attachment_paths; }; struct dbox_file *sdbox_file_init(struct sdbox_mailbox *mbox, uint32_t uid); struct dbox_file *sdbox_file_create(struct sdbox_mailbox *mbox); void sdbox_file_free(struct dbox_file *file); /* Get file's extrefs metadata. */ int sdbox_file_get_attachments(struct dbox_file *file, const char **extrefs_r); /* Returns attachment path for this file, given the source path. The result is always <hash>-<guid>-<mailbox_guid>-<uid>. The source path is expected to contain <hash>-<guid>[-*]. */ const char * sdbox_file_attachment_relpath(struct sdbox_file *file, const char *srcpath); /* Assign UID for a newly created file (by renaming it) */ int sdbox_file_assign_uid(struct sdbox_file *file, uint32_t uid); int sdbox_file_create_fd(struct dbox_file *file, const char *path, bool parents); /* Move the file to alt path or back. */ int sdbox_file_move(struct dbox_file *file, bool alt_path); /* Unlink file and all of its referenced attachments. */ int sdbox_file_unlink_with_attachments(struct sdbox_file *sfile); /* Unlink file and its attachments when rollbacking a saved message. */ int sdbox_file_unlink_aborted_save(struct sdbox_file *file); #endif