Exemplo n.º 1
0
gboolean
scalix_account_synch_run (ScalixAccountSynch * sxas, gboolean wait)
{
    ScalixAccountSynchPrivate *priv;
    struct account_synch_msg *m;

#ifdef HAVE_MAILMSG
    m = mail_msg_new (&account_synch_info);
#else
    m = mail_msg_new (&account_synch_op, NULL, sizeof (*m));
#endif

    if (m == NULL) {
        return FALSE;
    }

    priv = SCALIX_ACCOUNT_SYNCH_GET_PRIVATE (sxas);

    m->sxas = g_object_ref (sxas);
    m->success = FALSE;
    m->sversion = NULL;

#ifdef HAVE_MAILMSG
    mail_msg_unordered_push (m);
#else
    e_thread_put (mail_thread_new, (EMsg *) m);
#endif

    return TRUE;
}
Exemplo n.º 2
0
static gboolean
receive_update_got_folderinfo(CamelStore *store, CamelFolderInfo *info, void *data)
{
	if (info) {
		GPtrArray *folders = g_ptr_array_new();
		struct _refresh_folders_msg *m;
		struct _send_info *sinfo = data;

		m = mail_msg_new(&refresh_folders_info);
		m->store = store;
		camel_object_ref(store);
		m->folders = folders;
		m->info = sinfo;
		m->finfo = info;

		mail_msg_unordered_push (m);

		/* do not free folder info, we will free it later */
		return FALSE;
	} else {
		receive_done ("", data);
	}

	return TRUE;
}
Exemplo n.º 3
0
/* Start the main import operation */
void
org_gnome_evolution_readdbx_import (EImport *ei,
                                    EImportTarget *target,
                                    EImportImporter *im)
{
	DbxImporter *m;

	m = mail_msg_new (&dbx_import_info);
	g_datalist_set_data (&target->data, "dbx-msg", m);
	m->import = ei;
	g_object_ref (m->import);
	m->target = target;

	m->parent_uri = NULL;
	m->folder_name = NULL;
	m->folder_uri = NULL;

	m->status_timeout_id =
		e_named_timeout_add (100, dbx_status_timeout, m);
	g_mutex_init (&m->status_lock);
	m->cancellable = camel_operation_new ();

	g_signal_connect (
		m->cancellable, "status",
		G_CALLBACK (dbx_status), m);

	mail_msg_unordered_push (m);
}