#include <modest-runtime.h>
#include "modest-formatter.h"
#include <tny-camel-stream.h>
+#include <tny-camel-mime-part.h>
+#include <camel/camel-stream-buffer.h>
#include <camel/camel-stream-mem.h>
#include <glib/gprintf.h>
TnyMsg*
modest_tny_msg_new (const gchar* mailto, const gchar* from, const gchar *cc,
const gchar *bcc, const gchar* subject, const gchar *body,
- GSList *attachments)
+ GList *attachments)
{
TnyMsg *new_msg;
TnyHeader *header;
/* Add attachments */
if (attachments)
- add_attachments (new_msg, (GList*) attachments);
+ add_attachments (new_msg, attachments);
return new_msg;
}
modest_tny_msg_new_html_plain (const gchar* mailto, const gchar* from, const gchar *cc,
const gchar *bcc, const gchar* subject,
const gchar *html_body, const gchar *plain_body,
- GSList *attachments)
+ GList *attachments)
{
TnyMsg *new_msg;
TnyHeader *header;
g_free (content_type);
/* Add attachments */
- add_attachments (new_msg, (GList*) attachments);
+ add_attachments (new_msg, attachments);
return new_msg;
}
TnyStream *attachment_stream;
if (TNY_IS_MSG (part)) {
- result = TNY_MIME_PART (tny_platform_factory_new_msg (modest_runtime_get_platform_factory ()));
- attachment_content_type = "message/rfc822";
- tny_mime_part_set_content_type (result, attachment_content_type);
- } else {
- result = tny_platform_factory_new_mime_part (
- modest_runtime_get_platform_factory());
- attachment_content_type = tny_mime_part_get_content_type (part);
+ g_object_ref (part);
+ return part;
}
+ result = tny_platform_factory_new_mime_part (
+ modest_runtime_get_platform_factory());
+
+ attachment_content_type = tny_mime_part_get_content_type (part);
+
/* get mime part headers */
attachment_filename = tny_mime_part_get_filename (part);
attachment_cid = tny_mime_part_get_content_id (part);
/* fill the stream */
- attachment_stream = tny_mime_part_get_stream (part);
+ attachment_stream = tny_mime_part_get_stream (part);
tny_stream_reset (attachment_stream);
tny_mime_part_construct_from_stream (result,
attachment_stream,
old_attachment = pos->data;
attachment_part = copy_mime_part (old_attachment);
tny_mime_part_add_part (TNY_MIME_PART (msg), attachment_part);
+ g_object_unref (attachment_part);
}
}
iter = tny_list_create_iterator(parts);
/* no parts? assume it's single-part message */
- if (tny_iterator_is_done(iter))
+ if (tny_iterator_is_done(iter)) {
+ g_object_unref (G_OBJECT(iter));
return TNY_MIME_PART (g_object_ref(G_OBJECT(msg)));
- else {
+ } else {
gchar *content_type = NULL;
do {
part = TNY_MIME_PART(tny_iterator_get_current (iter));
+ if (TNY_IS_MSG (part)) {
+ g_object_unref (part);
+ tny_iterator_next (iter);
+ continue;
+ }
/* we need to strdown the content type, because
* tny_mime_part_has_content_type does not do it...
part = TNY_MIME_PART (data);
attachments_list = ((GList **) user_data);
- if ((tny_mime_part_is_attachment (part))||(TNY_IS_MSG (part)))
+ if ((tny_mime_part_is_attachment (part))||(TNY_IS_MSG (part))) {
*attachments_list = g_list_prepend (*attachments_list, part);
+ g_object_ref (part);
+ }
}
TnyMsg*