} ModestMailOperationTypeOperation;
/**
- * ErrorCheckingAsyncUserCallback:
+ * ErrorCheckingUserCallback:
*
* @mail_op: the current mail operation.
* @user_data: generic data passed to user defined function.
typedef void (*ErrorCheckingUserCallback) (ModestMailOperation *mail_op, gpointer user_data);
/**
+ * ErrorCheckingUserDataDestroyer:
+ *
+ * @user_data: generic data passed to user defined function.
+ *
+ * This function is used to destroy the user_data passed to the error
+ * checking user callback function
+ */
+typedef void (*ErrorCheckingUserDataDestroyer) (gpointer user_data);
+
+
+/**
* GetMsgAsyncUserCallback:
*
* @mail_op: the current #ModestMailOperation.
*/
typedef void (*GetMsgAsyncUserCallback) (ModestMailOperation *mail_op,
TnyHeader *header,
+ gboolean canceled,
TnyMsg *msg,
+ GError *err,
gpointer user_data);
/**
**/
ModestMailOperation* modest_mail_operation_new_with_error_handling (GObject *source,
ErrorCheckingUserCallback error_handler,
- gpointer user_data);
+ gpointer user_data,
+ ErrorCheckingUserDataDestroyer error_handler_destroyer);
/**
* modest_mail_operation_execute_error_handler
* @self: a #ModestMailOperation