changeset 6289:4a57baddc8b8 HEAD

Added mail.close() virtual function.
author Timo Sirainen <tss@iki.fi>
date Mon, 13 Aug 2007 17:19:59 +0300
parents 79d9c1703b78
children b04d136f8174
files src/lib-storage/index/cydir/cydir-mail.c src/lib-storage/index/dbox/dbox-mail.c src/lib-storage/index/index-mail.c src/lib-storage/index/index-mail.h src/lib-storage/index/maildir/maildir-mail.c src/lib-storage/index/mbox/mbox-mail.c src/lib-storage/mail-storage-private.h
diffstat 7 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/cydir/cydir-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/cydir/cydir-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -123,6 +123,7 @@
 }
 
 struct mail_vfuncs cydir_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
--- a/src/lib-storage/index/dbox/dbox-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/dbox/dbox-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -236,6 +236,7 @@
 }
 
 struct mail_vfuncs dbox_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
--- a/src/lib-storage/index/index-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/index-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -892,8 +892,10 @@
 	return &mail->mail.mail;
 }
 
-static void index_mail_close(struct index_mail *mail)
+void index_mail_close(struct mail *_mail)
 {
+	struct index_mail *mail = (struct index_mail *)_mail;
+
 	if (mail->data.parser_ctx != NULL)
 		(void)message_parser_deinit(&mail->data.parser_ctx);
 	if (mail->data.stream != NULL)
@@ -906,7 +908,7 @@
 {
 	struct index_mail_data *data = &mail->data;
 
-	index_mail_close(mail);
+	mail->mail.v.close(&mail->mail.mail);
 
 	memset(data, 0, sizeof(*data));
 	p_clear(mail->data_pool);
@@ -1082,7 +1084,7 @@
 {
 	struct index_mail *mail = (struct index_mail *)_mail;
 
-	index_mail_close(mail);
+	mail->mail.v.close(_mail);
 
 	if (mail->header_data != NULL)
 		buffer_free(mail->header_data);
--- a/src/lib-storage/index/index-mail.h	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/index-mail.h	Mon Aug 13 17:19:59 2007 +0300
@@ -133,6 +133,7 @@
 		 struct mailbox_header_lookup_ctx *wanted_headers);
 void index_mail_set_seq(struct mail *mail, uint32_t seq);
 bool index_mail_set_uid(struct mail *mail, uint32_t uid);
+void index_mail_close(struct mail *mail);
 void index_mail_free(struct mail *mail);
 
 bool index_mail_want_parse_headers(struct index_mail *mail);
--- a/src/lib-storage/index/maildir/maildir-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/maildir/maildir-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -387,6 +387,7 @@
 }
 
 struct mail_vfuncs maildir_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
--- a/src/lib-storage/index/mbox/mbox-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/mbox/mbox-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -231,6 +231,7 @@
 }
 
 struct mail_vfuncs mbox_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
--- a/src/lib-storage/mail-storage-private.h	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/mail-storage-private.h	Mon Aug 13 17:19:59 2007 +0300
@@ -195,6 +195,7 @@
 };
 
 struct mail_vfuncs {
+	void (*close)(struct mail *mail);
 	void (*free)(struct mail *mail);
 	void (*set_seq)(struct mail *mail, uint32_t seq);
 	bool (*set_uid)(struct mail *mail, uint32_t uid);