1999-08-26 bertrand <Bertrand.Guiheneuf@aful.org> * camel/camel-mime-part.c (_get_content_object): contruct the content from the buffer before calling CamelMedium implementation. (_construct_from_stream): Do not construct the content by default, just store the content bytes in a temporary buffer. Content will be constructed only at caller request (when calling CamelMedium::get_content_object) Providers with better access to the messages (mbox/MH ...) will have to provider lighter implementation, that is shall not read content at all unless the caller asks for it (again with get_content). * camel/camel-mime-part-utils.c: new file, groups mime-part related utils. Meant to be used by providers subclassing MimeMessage. (camel_mime_part_construct_headers_from_stream): (camel_mime_part_construct_content_from_stream): no more useless temporary hash table. * camel/camel-mime-part.c (_construct_from_stream): calls mime-part-utils functions now. * camel/gmime-utils.c (_store_header_pair_from_string): do not use hash table to store header, use an array instead. svn path=/trunk/; revision=1145
47 lines
1.4 KiB
C
47 lines
1.4 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
/* tests mime message file parsing */
|
|
#include "gmime-utils.h"
|
|
#include "stdio.h"
|
|
#include "camel-log.h"
|
|
#include "camel-mime-message.h"
|
|
#include "camel-mime-part.h"
|
|
#include "camel-stream.h"
|
|
#include "camel-stream-fs.h"
|
|
#include "camel.h"
|
|
|
|
int
|
|
main (int argc, char**argv)
|
|
{
|
|
GHashTable *header_table;
|
|
CamelMimeMessage *message;
|
|
CamelStream *input_stream, *output_stream;
|
|
|
|
gtk_init (&argc, &argv);
|
|
camel_init ();
|
|
camel_debug_level = CAMEL_LOG_LEVEL_FULL_DEBUG;
|
|
message = camel_mime_message_new_with_session( (CamelSession *)NULL);
|
|
|
|
|
|
input_stream = camel_stream_fs_new_with_name ("mail.test", CAMEL_STREAM_FS_READ);
|
|
if (!input_stream) {
|
|
perror ("could not open input file");
|
|
printf ("You must create the file mail.test before running this test");
|
|
exit(2);
|
|
}
|
|
|
|
camel_data_wrapper_construct_from_stream ( CAMEL_DATA_WRAPPER (message), input_stream);
|
|
camel_medium_get_content_object (CAMEL_MEDIUM (message));
|
|
camel_stream_close (input_stream);
|
|
gtk_object_unref (GTK_OBJECT (input_stream));
|
|
|
|
output_stream = camel_stream_fs_new_with_name ("mail2.test", CAMEL_STREAM_FS_WRITE);
|
|
camel_data_wrapper_write_to_stream (CAMEL_DATA_WRAPPER (message), output_stream);
|
|
camel_stream_close (output_stream);
|
|
gtk_object_unref (GTK_OBJECT (output_stream));
|
|
|
|
gtk_object_unref (GTK_OBJECT (message));
|
|
|
|
return 0;
|
|
|
|
}
|