typedef void (*ModestAccountProtocolCheckSupportFunc) (ModestAccountProtocol *self,
gboolean supported, gpointer userdata);
+typedef void (*ModestAccountProtocolSaveRemoteDraftCallback) (ModestAccountProtocol *self,
+ GError *error,
+ const gchar *account_id,
+ TnyMsg *new_remote_msg,
+ TnyMsg *new_msg,
+ TnyMsg *old_msg,
+ gpointer userdata);
struct _ModestAccountProtocol {
const GdkPixbuf * (*get_icon) (ModestAccountProtocol *self, ModestAccountProtocolIconType icon_type,
GObject *object, guint icon_size);
gchar * (*get_service_name) (ModestAccountProtocol *self, const gchar *account_id, const gchar *mailbox);
+ const GdkPixbuf * (*get_service_icon) (ModestAccountProtocol *self, const gchar *account_id, const gchar *mailbox, guint icon_size);
+ void (*save_remote_draft) (ModestAccountProtocol *self,
+ const gchar *account_id, TnyMsg *new_msg, TnyMsg *old_msg,
+ ModestAccountProtocolSaveRemoteDraftCallback callback,
+ gpointer userdata);
+ void (*cancel_check_support) (ModestAccountProtocol *self);
/* Padding for future expansions */
- void (*_reserved2) (void);
- void (*_reserved3) (void);
- void (*_reserved4) (void);
void (*_reserved5) (void);
void (*_reserved6) (void);
void (*_reserved7) (void);
void modest_account_protocol_check_support (ModestAccountProtocol *self,
ModestAccountProtocolCheckSupportFunc func,
gpointer userdata);
+
+/**
+ * modest_account_protocol_cancel_check_support:
+ * @self: a #ModestAccountProtocol
+ *
+ * This method requests that the check support requests running should be
+ * immediately cancelled. Once this happens, is_supported should return %FALSE
+ * until a new succesful check_support request is finished.
+ */
+void modest_account_protocol_cancel_check_support (ModestAccountProtocol *self);
+
/**
* modest_account_protocol_is_supported:
* @self: a #ModestAccountProtocol
const gchar *account_id,
const gchar *mailbox);
+/**
+ * modest_account_protocol_get_service_icon:
+ * @self: a #ModestAccountProtocol
+ * @account_id: a transport account name
+ * @mailbox: a mailbox
+ *
+ * Obtain the service icon for the account and mailbox.
+ *
+ * Returns: a protocol owned #GdkPixbuf
+ */
+const GdkPixbuf *modest_account_protocol_get_service_icon (ModestAccountProtocol *self,
+ const gchar *account_id,
+ const gchar *mailbox,
+ guint icon_size);
+
+/**
+ * modest_account_protocol_save_remote_draft:
+ * @self: a #ModestAccountProtocol
+ * @account_id: a transport account_name
+ * @new_msg: the newly created message in local storage.
+ * @old_msg: the old message
+ * @callback: the code that should be executed on finishing the remote message saving
+ * @userdata: a #gpointer
+ *
+ * Saves the just-saved to local draft, into a remote storage.
+ */
+void modest_account_protocol_save_remote_draft (ModestAccountProtocol *self,
+ const gchar *account_id,
+ TnyMsg *new_msg,
+ TnyMsg *old_msg,
+ ModestAccountProtocolSaveRemoteDraftCallback callback,
+ gpointer userdata);
+
G_END_DECLS