Files
evolution/tests/test2.c
bertrand e826255bf1 contruct the content from the buffer before calling CamelMedium
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
1999-08-26 15:29:40 +00:00

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;
}