void camel_gw_summary_add_offline (CamelFolderSummary *summary, const char *uid, CamelMimeMessage *message, const CamelMessageInfo *info) { CamelGroupwiseMessageInfo *mi ; const CamelFlag *flag ; const CamelTag *tag ; /* Create summary entry */ mi = (CamelGroupwiseMessageInfo *)camel_folder_summary_info_new_from_message (summary, message) ; /* Copy flags 'n' tags */ mi->info.flags = camel_message_info_flags(info) ; flag = camel_message_info_user_flags(info) ; while (flag) { camel_message_info_set_user_flag((CamelMessageInfo *)mi, flag->name, TRUE); flag = flag->next; } tag = camel_message_info_user_tags(info); while (tag) { camel_message_info_set_user_tag((CamelMessageInfo *)mi, tag->name, tag->value); tag = tag->next; } mi->info.size = camel_message_info_size(info); mi->info.uid = g_strdup (uid); camel_folder_summary_add (summary, (CamelMessageInfo *)mi); }
/* remember, the size comparisons are done at Kbytes */ static CamelSExpResult * get_size (struct _CamelSExp *f, gint argc, struct _CamelSExpResult **argv, FilterMessageSearch *fms) { CamelSExpResult *r; r = camel_sexp_result_new (f, CAMEL_SEXP_RES_INT); r->value.number = camel_message_info_size (fms->info) / 1024; return r; }