typedef struct _GetMsgAsyncHelper {
ModestMailOperation *mail_op;
+ TnyHeader *header;
GetMsgAsyncUserCallback user_callback;
gpointer user_data;
} GetMsgAsyncHelper;
state->done = priv->done;
state->total = priv->total;
state->finished = modest_mail_operation_is_finished (self);
+ state->bytes_done = 0;
+ state->bytes_total = 0;
return state;
}
helper->mail_op = self;
helper->user_callback = user_callback;
helper->user_data = user_data;
+ helper->header = g_object_ref (header);
tny_folder_get_msg_async (folder, header, get_msg_cb, get_msg_status_cb, helper);
/* If user defined callback function was defined, call it */
if (helper->user_callback) {
- helper->user_callback (self, NULL, msg, helper->user_data);
+ helper->user_callback (self, helper->header, msg, helper->user_data);
}
out:
/* Free */
+ g_object_unref (helper->header);
g_slice_free (GetMsgAsyncHelper, helper);
/* Notify about operation end */
priv->total = 1;
state = modest_mail_operation_clone_state (self);
+ state->bytes_done = status->position;
+ state->bytes_total = status->of_total;
g_signal_emit (G_OBJECT (self), signals[PROGRESS_CHANGED_SIGNAL], 0, state, NULL);
g_slice_free (ModestMailOperationState, state);
}