comparison src/lib-storage/mail-storage-private.h @ 6280:eb7c9d8ece54 HEAD

mail_*() APIs changed to return int and return the actual data as pointer. Changed some code to do error handling a bit better.
author Timo Sirainen <tss@iki.fi>
date Sun, 12 Aug 2007 19:40:54 +0300
parents f52e7d1402b5
children 4a57baddc8b8
comparison
equal deleted inserted replaced
6279:f52e7d1402b5 6280:eb7c9d8ece54
199 void (*set_seq)(struct mail *mail, uint32_t seq); 199 void (*set_seq)(struct mail *mail, uint32_t seq);
200 bool (*set_uid)(struct mail *mail, uint32_t uid); 200 bool (*set_uid)(struct mail *mail, uint32_t uid);
201 201
202 enum mail_flags (*get_flags)(struct mail *mail); 202 enum mail_flags (*get_flags)(struct mail *mail);
203 const char *const *(*get_keywords)(struct mail *mail); 203 const char *const *(*get_keywords)(struct mail *mail);
204 const struct message_part *(*get_parts)(struct mail *mail); 204
205 205 int (*get_parts)(struct mail *mail,
206 time_t (*get_date)(struct mail *mail, int *timezone); 206 const struct message_part **parts_r);
207 time_t (*get_received_date)(struct mail *mail); 207 int (*get_date)(struct mail *mail, time_t *date_r, int *timezone_r);
208 time_t (*get_save_date)(struct mail *mail); 208 int (*get_received_date)(struct mail *mail, time_t *date_r);
209 uoff_t (*get_virtual_size)(struct mail *mail); 209 int (*get_save_date)(struct mail *mail, time_t *date_r);
210 uoff_t (*get_physical_size)(struct mail *mail); 210 int (*get_virtual_size)(struct mail *mail, uoff_t *size_r);
211 211 int (*get_physical_size)(struct mail *mail, uoff_t *size_r);
212 const char *(*get_first_header)(struct mail *mail, const char *field, 212
213 bool decode_to_utf8); 213 int (*get_first_header)(struct mail *mail, const char *field,
214 const char *const *(*get_headers)(struct mail *mail, const char *field, 214 bool decode_to_utf8, const char **value_r);
215 bool decode_to_utf8); 215 int (*get_headers)(struct mail *mail, const char *field,
216 struct istream * 216 bool decode_to_utf8, const char *const **value_r);
217 (*get_header_stream)(struct mail *mail, 217 int (*get_header_stream)(struct mail *mail,
218 struct mailbox_header_lookup_ctx *headers); 218 struct mailbox_header_lookup_ctx *headers,
219 struct istream *(*get_stream)(struct mail *mail, 219 struct istream **stream_r);
220 struct message_size *hdr_size, 220 int (*get_stream)(struct mail *mail, struct message_size *hdr_size,
221 struct message_size *body_size); 221 struct message_size *body_size,
222 222 struct istream **stream_r);
223 const char *(*get_special)(struct mail *mail, 223
224 enum mail_fetch_field field); 224 int (*get_special)(struct mail *mail, enum mail_fetch_field field,
225 const char **value_r);
225 226
226 void (*update_flags)(struct mail *mail, enum modify_type modify_type, 227 void (*update_flags)(struct mail *mail, enum modify_type modify_type,
227 enum mail_flags flags); 228 enum mail_flags flags);
228 void (*update_keywords)(struct mail *mail, enum modify_type modify_type, 229 void (*update_keywords)(struct mail *mail, enum modify_type modify_type,
229 struct mail_keywords *keywords); 230 struct mail_keywords *keywords);