Provide destination URI to ModestAccountProtocol in decode_part_to_stream.
authorJose Dapena Paz <jdapena@igalia.com>
Mon, 24 Aug 2009 10:38:16 +0000 (12:38 +0200)
committerJose Dapena Paz <jdapena@igalia.com>
Mon, 24 Aug 2009 11:01:33 +0000 (13:01 +0200)
src/hildon2/modest-msg-view-window.c
src/modest-account-protocol.c
src/modest-account-protocol.h

index 912cdcf..bed6ebf 100644 (file)
@@ -2688,7 +2688,8 @@ modest_msg_view_window_view_attachment (ModestMsgViewWindow *window,
                                        decode_in_provider = 
                                                modest_account_protocol_decode_part_to_stream_async (
                                                        MODEST_ACCOUNT_PROTOCOL (protocol),
-                                                       mime_part, 
+                                                       mime_part,
+                                                       NULL,
                                                        TNY_STREAM (temp_stream),
                                                        on_decode_to_stream_async_handler,
                                                        NULL,
@@ -2891,6 +2892,7 @@ save_mime_part_to_file (SaveMimePartInfo *info)
                                        modest_account_protocol_decode_part_to_stream (
                                                MODEST_ACCOUNT_PROTOCOL (protocol),
                                                pair->part,
+                                               pair->filename,
                                                stream,
                                                &written,
                                                &error);
index bc1e00f..afeaaba 100644 (file)
@@ -93,11 +93,13 @@ static void modest_account_protocol_cancel_check_support_default (ModestAccountP
 static void modest_account_protocol_wizard_finished_default (ModestAccountProtocol *self);
 static gboolean modest_account_protocol_decode_part_to_stream_default (ModestAccountProtocol *protocol,
                                                                       TnyMimePart *part,
+                                                                      const gchar *stream_uri,
                                                                       TnyStream *stream,
                                                                       gssize *written,
                                                                       GError **error);
 static gboolean modest_account_protocol_decode_part_to_stream_async_default (ModestAccountProtocol *protocol,
                                                                             TnyMimePart *self, 
+                                                                            const gchar *stream_uri,
                                                                             TnyStream *stream, 
                                                                             TnyMimePartCallback callback, 
                                                                             TnyStatusCallback status_callback, 
@@ -705,6 +707,7 @@ modest_account_protocol_wizard_finished (ModestAccountProtocol *self)
 static gboolean
 modest_account_protocol_decode_part_to_stream_default (ModestAccountProtocol *self,
                                                       TnyMimePart *part,
+                                                      const gchar *stream_uri,
                                                       TnyStream *stream,
                                                       gssize *written,
                                                       GError **error)
@@ -716,12 +719,14 @@ modest_account_protocol_decode_part_to_stream_default (ModestAccountProtocol *se
 gboolean
 modest_account_protocol_decode_part_to_stream (ModestAccountProtocol *self,
                                               TnyMimePart *part,
+                                              const gchar *stream_uri,
                                               TnyStream *stream,
                                               gssize *written,
                                               GError **error)
 {
        return MODEST_ACCOUNT_PROTOCOL_GET_CLASS (self)->decode_part_to_stream (self,
                                                                                part,
+                                                                               stream_uri,
                                                                                stream,
                                                                                written,
                                                                                error);
@@ -730,6 +735,7 @@ modest_account_protocol_decode_part_to_stream (ModestAccountProtocol *self,
 static gboolean
 modest_account_protocol_decode_part_to_stream_async_default (ModestAccountProtocol *self,
                                                             TnyMimePart *part,
+                                                            const gchar *stream_uri,
                                                             TnyStream *stream, 
                                                             TnyMimePartCallback callback, 
                                                             TnyStatusCallback status_callback, 
@@ -742,6 +748,7 @@ modest_account_protocol_decode_part_to_stream_async_default (ModestAccountProtoc
 gboolean
 modest_account_protocol_decode_part_to_stream_async (ModestAccountProtocol *self,
                                                     TnyMimePart *part, 
+                                                    const gchar *stream_uri,
                                                     TnyStream *stream, 
                                                     TnyMimePartCallback callback, 
                                                     TnyStatusCallback status_callback, 
@@ -749,6 +756,7 @@ modest_account_protocol_decode_part_to_stream_async (ModestAccountProtocol *self
 {
        return MODEST_ACCOUNT_PROTOCOL_GET_CLASS (self)->decode_part_to_stream_async (self,
                                                                                      part,
+                                                                                     stream_uri,
                                                                                      stream,
                                                                                      callback,
                                                                                      status_callback,
index 9936d83..f773f61 100644 (file)
@@ -102,11 +102,13 @@ struct _ModestAccountProtocolClass {
        void (*wizard_finished) (ModestAccountProtocol *self);
        gboolean (*decode_part_to_stream) (ModestAccountProtocol *protocol,
                                           TnyMimePart *part,
+                                          const gchar *stream_uri,
                                           TnyStream *stream,
                                           gssize *written,
                                           GError **error);
        gboolean (*decode_part_to_stream_async) (ModestAccountProtocol *protocol,
-                                                TnyMimePart *part, 
+                                                TnyMimePart *part,
+                                                const gchar *stream_uri,
                                                 TnyStream *stream, 
                                                 TnyMimePartCallback callback, 
                                                 TnyStatusCallback status_callback, 
@@ -495,6 +497,7 @@ void modest_account_protocol_save_remote_draft (ModestAccountProtocol *self,
  * modest_account_protocol_decode_part_to_stream:
  * @self: a #ModestAccountProtocol
  * @part: a #TnyMimePart
+ * @stream_uri: a string
  * @stream: a #TnyStream
  * @written: a #gssize pointer, with the number of bytes written
  * @error: a #GError
@@ -504,12 +507,16 @@ void modest_account_protocol_save_remote_draft (ModestAccountProtocol *self,
  * (i.e. when the original message has a fake attachment, and provider
  * can return the real attachment).
  *
+ * The @stream_uri parameter tells the uri of the resource @stream is
+ * wrapping (if known).
+ *
  * Returns: %TRUE if @protocol does the decode operation, %FALSE if modest
  * should do it.
  */
 gboolean
 modest_account_protocol_decode_part_to_stream (ModestAccountProtocol *protocol,
                                                TnyMimePart *part,
+                                              const gchar *stream_uri,
                                                TnyStream *stream,
                                               gssize *written,
                                                GError **error);
@@ -518,16 +525,21 @@ modest_account_protocol_decode_part_to_stream (ModestAccountProtocol *protocol,
  * modest_account_protocol_decode_part_to_stream_async:
  * @self: a #ModestAccountProtocol
  * @part: a #TnyMimePart
+ * @stream_uri: a string
  * @stream: a #TnyStream
  *
  * This virtual method delegates on the account protocol to decode @part
  * into @stream, but asynchronously.
  *
+ * The @stream_uri parameter tells the uri of the resource @stream is
+ * wrapping (if known).
+ *
  * Returns: %TRUE if @protocol does the decode operation (then we shouldn't expect
  * callback to happen from this call, %FALSE if modest should do it.
  */
 gboolean modest_account_protocol_decode_part_to_stream_async (ModestAccountProtocol *self,
                                                              TnyMimePart *part, 
+                                                             const gchar *stream_uri,
                                                              TnyStream *stream, 
                                                              TnyMimePartCallback callback, 
                                                              TnyStatusCallback status_callback,