X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-account-protocol.h;h=f773f618c70160f4be3566036313a9488a03b782;hp=651ea0ff460160aa102a73d1e531fed4c48ad2b2;hb=12a672c559d983c4e49a7e4054ee14c0177ecb1c;hpb=77279a928905bb344342d4d12bc5c0275c1ced27 diff --git a/src/modest-account-protocol.h b/src/modest-account-protocol.h index 651ea0f..f773f61 100644 --- a/src/modest-account-protocol.h +++ b/src/modest-account-protocol.h @@ -99,11 +99,22 @@ struct _ModestAccountProtocolClass { ModestAccountProtocolSaveRemoteDraftCallback callback, gpointer userdata); void (*cancel_check_support) (ModestAccountProtocol *self); + 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, + const gchar *stream_uri, + TnyStream *stream, + TnyMimePartCallback callback, + TnyStatusCallback status_callback, + gpointer user_data); /* Padding for future expansions */ - void (*_reserved5) (void); - void (*_reserved6) (void); - void (*_reserved7) (void); void (*_reserved8) (void); void (*_reserved9) (void); void (*_reserved10) (void); @@ -359,6 +370,15 @@ void modest_account_protocol_check_support (ModestAccountProtocol *self, void modest_account_protocol_cancel_check_support (ModestAccountProtocol *self); /** + * modest_account_protocol_wizard_finished: + * @self: a #ModestAccountProtocol + * + * Method that let protocol know if the wizard has finished, for the case it's + * needed to do some stuff after check_support. + */ +void modest_account_protocol_wizard_finished (ModestAccountProtocol *self); + +/** * modest_account_protocol_is_supported: * @self: a #ModestAccountProtocol * @@ -473,6 +493,58 @@ void modest_account_protocol_save_remote_draft (ModestAccountProtocol *self, ModestAccountProtocolSaveRemoteDraftCallback callback, gpointer userdata); +/** + * 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 + * + * This virtual method delegates on the account protocol to decode @part + * into @stream. It just allows the provider to decode it as it needs + * (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); + +/** + * 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, + gpointer user_data); + G_END_DECLS