X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-attachment.c;h=9fbf0ccc18c0315a8a14afc4c5cbe750cdbf4df5;hp=99fdacf3d0910c998eb79fbd9f5e1b7609aa6110;hb=4c17eac51757809148b84e229bede6323aac270a;hpb=7fddd7799ef51a7baa35d6fbcd4eca12b66be5f1 diff --git a/src/modest-tny-attachment.c b/src/modest-tny-attachment.c index 99fdacf..9fbf0cc 100644 --- a/src/modest-tny-attachment.c +++ b/src/modest-tny-attachment.c @@ -1,6 +1,34 @@ -/* modest-tny-attachment.c */ +/* Copyright (c) 2006, Nokia Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the Nokia Corporation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + -/* insert (c)/licensing information) */ +/* modest-tny-attachment.c */ #include "modest-tny-attachment.h" #include "modest-tny-msg-actions.h" @@ -31,7 +59,7 @@ struct _ModestTnyAttachmentPrivate { gchar *mime_type; gchar *disposition; gchar *content_id; - TnyStreamIface *stream; + TnyStream *stream; }; #define MODEST_TNY_ATTACHMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ MODEST_TYPE_TNY_ATTACHMENT, \ @@ -57,6 +85,7 @@ modest_tny_attachment_get_type (void) sizeof(ModestTnyAttachment), 1, /* n_preallocs */ (GInstanceInitFunc) modest_tny_attachment_init, + NULL }; my_type = g_type_register_static (G_TYPE_OBJECT, "ModestTnyAttachment", @@ -208,20 +237,14 @@ modest_tny_attachment_guess_mime_type (ModestTnyAttachment *self) priv->mime_type = NULL; } -static TnyStreamIface * +static TnyStream * make_stream_from_file(const gchar * filename) { - gint file; - - file = open(filename, O_RDONLY); - if (file < 0) - return NULL; - - return TNY_STREAM_IFACE(tny_stream_camel_new(camel_stream_fs_new_with_fd(file))); + return NULL; } void -modest_tny_attachment_set_stream(ModestTnyAttachment *self, TnyStreamIface *thing) +modest_tny_attachment_set_stream(ModestTnyAttachment *self, TnyStream *thing) { ModestTnyAttachmentPrivate *priv; @@ -231,7 +254,7 @@ modest_tny_attachment_set_stream(ModestTnyAttachment *self, TnyStreamIface *thin priv->stream = thing; } -TnyStreamIface * +TnyStream * modest_tny_attachment_get_stream (ModestTnyAttachment *self) { ModestTnyAttachmentPrivate *priv; @@ -259,80 +282,13 @@ modest_tny_attachment_free_list(GList *list) ModestTnyAttachment * -modest_tny_attachment_new_from_mime_part(TnyMsgMimePartIface *part) +modest_tny_attachment_new_from_mime_part(TnyMimePart *part) { - TnyStreamIface *mem_stream; - ModestTnyAttachment *self; - - mem_stream = TNY_STREAM_IFACE(tny_stream_camel_new(camel_stream_mem_new())); - self = modest_tny_attachment_new(); - tny_msg_mime_part_iface_decode_to_stream(part, mem_stream); - tny_stream_iface_reset(mem_stream); - modest_tny_attachment_set_stream(self, mem_stream); - modest_tny_attachment_set_mime_type(self, - tny_msg_mime_part_iface_get_content_type(part)); - modest_tny_attachment_set_name(self, - tny_msg_mime_part_iface_get_filename(part)); - return self; + return NULL; } ModestTnyAttachment * -modest_tny_attachment_new_from_message(const TnyMsgIface *msg) -{ - TnyStreamIface *mem_stream, *msg_stream; - ModestTnyAttachment *self; - gint res; - - mem_stream = TNY_STREAM_IFACE(tny_stream_camel_new(camel_stream_mem_new())); - msg_stream = tny_msg_mime_part_iface_get_stream(TNY_MSG_MIME_PART_IFACE(msg)); - printf("ping\n"); - tny_stream_iface_reset(msg_stream); - res = tny_stream_iface_write_to_stream(msg_stream, mem_stream); - //tny_msg_mime_part_iface_write_to_stream(TNY_MSG_MIME_PART_IFACE(msg), mem_stream); - printf("pong, %d\n", res); - tny_stream_iface_reset(msg_stream); - tny_stream_iface_reset(mem_stream); - self = modest_tny_attachment_new(); - modest_tny_attachment_set_stream(self, mem_stream); - modest_tny_attachment_set_mime_type(self, "message/rfc822"); - modest_tny_attachment_set_name(self, "original message"); - return self; -} - -GList * -modest_tny_attachment_new_list_from_msg(const TnyMsgIface *msg, gboolean with_body) +modest_tny_attachment_new_from_message(const TnyMsg *msg) { - GList *list = NULL; - const GList *attachments = NULL; - TnyMsgMimePartIface *part; - ModestTnyAttachment *att; - -#if 0 - if (with_body) { - /* TODO: make plain over html configurable */ - part = modest_tny_msg_actions_find_body_part ((TnyMsgIface *)msg, "text/plain"); - if (!part) - part = modest_tny_msg_actions_find_body_part ((TnyMsgIface *)msg, "text/html"); - if (part) { - att = modest_tny_attachment_new_from_mime_part(part); - /* TODO: i18n */ - modest_tny_attachment_set_name(att, "original message"); - list = g_list_append(list, att); - } - } -#endif - if (with_body) { - list = g_list_append(list, modest_tny_attachment_new_from_message(msg)); - } else { - attachments = tny_msg_iface_get_parts((TnyMsgIface *)msg); - } - while (attachments) { - part = attachments->data; - if (tny_msg_mime_part_iface_is_attachment(part)) { - att = modest_tny_attachment_new_from_mime_part(part); - list = g_list_append(list, att); - } - attachments = attachments->next; - } - return list; + return NULL; }