static void get_msg_cb (TnyFolder *folder,
gboolean cancelled,
TnyMsg *msg,
- GError **err,
+ GError *rr,
gpointer user_data);
static void get_msg_status_cb (GObject *obj,
goto out;
/* Perform send (if operation was not cancelled) */
-/* priv->op_type = MODEST_MAIL_OPERATION_TYPE_SEND; */
priv->done = 0;
priv->total = 0;
if (priv->account != NULL)
send_queue = modest_runtime_get_send_queue (info->transport_account);
if (send_queue) {
-/* timeout = g_timeout_add (250, idle_notify_progress, info->mail_op); */
modest_tny_send_queue_try_to_send (send_queue);
-/* g_source_remove (timeout); */
} else {
g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
MODEST_MAIL_OPERATION_ERROR_INSTANCE_CREATION_FAILED,
static void
-transfer_folder_cb (TnyFolder *folder,
+transfer_folder_cb (TnyFolder *folder, gboolean cancelled,
TnyFolderStore *into,
- gboolean cancelled,
TnyFolder *new_folder,
- GError **err,
+ GError *err,
gpointer user_data)
{
XFerMsgAsyncHelper *helper;
self = helper->mail_op;
priv = MODEST_MAIL_OPERATION_GET_PRIVATE(self);
- if (*err) {
- priv->error = g_error_copy (*err);
+ if (err) {
+ priv->error = g_error_copy (err);
priv->done = 0;
priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
} else if (cancelled) {
if (folder) {
/* Get account and set it into mail_operation */
priv->account = modest_tny_folder_get_account (TNY_FOLDER(folder));
+
+ /* Check for cached messages */
+ if (tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED)
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_OPEN;
+ else
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_RECEIVE;
helper = g_slice_new0 (GetMsgAsyncHelper);
helper->mail_op = self;
get_msg_cb (TnyFolder *folder,
gboolean cancelled,
TnyMsg *msg,
- GError **error,
+ GError *error,
gpointer user_data)
{
GetMsgAsyncHelper *helper = NULL;
priv = MODEST_MAIL_OPERATION_GET_PRIVATE(self);
/* Check errors and cancel */
- if (*error) {
- priv->error = g_error_copy (*error);
+ if (error) {
+ priv->error = g_error_copy (error);
priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
} else if (cancelled) {
priv->status = MODEST_MAIL_OPERATION_STATUS_CANCELED;
header = TNY_HEADER (tny_iterator_get_current (iter));
folder = tny_header_get_folder (header);
+ /* Check for cached messages */
+ if (tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED)
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_OPEN;
+ else
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_RECEIVE;
+
/* Get message from folder */
if (folder) {
TnyMsg *msg;
static void
-transfer_msgs_cb (TnyFolder *folder, gboolean cancelled, GError **err, gpointer user_data)
+transfer_msgs_cb (TnyFolder *folder, gboolean cancelled, GError *err, gpointer user_data)
{
XFerMsgAsyncHelper *helper;
ModestMailOperation *self;
priv = MODEST_MAIL_OPERATION_GET_PRIVATE (self);
- if (*err) {
- priv->error = g_error_copy (*err);
+ if (err) {
+ priv->error = g_error_copy (err);
priv->done = 0;
priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
} else if (cancelled) {
static void
on_refresh_folder (TnyFolder *folder,
gboolean cancelled,
- GError **error,
+ GError *error,
gpointer user_data)
{
RefreshAsyncHelper *helper = NULL;
g_return_if_fail(priv!=NULL);
- if (*error) {
- priv->error = g_error_copy (*error);
+ if (error) {
+ priv->error = g_error_copy (error);
priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
+ printf("DEBUG: %s: Operation error:\n %s", __FUNCTION__,
+ error->message);
goto out;
}
MODEST_MAIL_OPERATION_ERROR_ITEM_NOT_FOUND,
_("Error trying to refresh the contents of %s"),
tny_folder_get_name (folder));
+ printf("DEBUG: %s: Operation cancelled.\n", __FUNCTION__);
goto out;
}
priv->status = MODEST_MAIL_OPERATION_STATUS_SUCCESS;
- out:
+
/* Call user defined callback, if it exists */
if (helper->user_callback) {
/* no gdk_threads_leave (), CHECKED */
}
+ out:
/* Free */
g_slice_free (RefreshAsyncHelper, helper);