+typedef struct {
+ ModestMailOperation *mail_op;
+ CreateFolderUserCallback callback;
+ gpointer user_data;
+} CreateFolderInfo;
+
+
+static void
+create_folder_cb (TnyFolderStore *parent_folder,
+ gboolean canceled,
+ TnyFolder *new_folder,
+ GError *err,
+ gpointer user_data)
+{
+ ModestMailOperationPrivate *priv;
+ CreateFolderInfo *info;
+
+ info = (CreateFolderInfo *) user_data;
+ priv = MODEST_MAIL_OPERATION_GET_PRIVATE (info->mail_op);
+
+ if (canceled || err) {
+ priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
+ if (err)
+ priv->error = g_error_copy (err);
+ else
+ g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
+ MODEST_MAIL_OPERATION_ERROR_OPERATION_CANCELED,
+ "canceled");
+ } else {
+ priv->status = MODEST_MAIL_OPERATION_STATUS_SUCCESS;
+ }