Files
evolution/mail/session.c
Christopher James Lahey 9a36dd9a0a Don't call e_setup_base_dir.
2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

	* session.c: Don't call e_setup_base_dir.

svn path=/trunk/; revision=3361
2000-06-02 02:17:53 +00:00

62 lines
1.2 KiB
C

/*
* session.c: handles the session infomration and resource manipulation
*
* Author:
* Miguel de Icaza (miguel@gnu.org)
*
* (C) 2000 Helix Code, Inc. http://www.helixcode.com
*/
#include <config.h>
#include <gnome.h>
#include "mail.h"
#include "e-util/e-setup.h"
CamelSession *session;
static void
request_callback (gchar *string, gpointer data)
{
char **ans = data;
if (string)
*ans = g_strdup(string);
else
*ans = NULL;
}
static char *
evolution_auth_callback (char *prompt, gboolean secret,
CamelService *service, char *item,
CamelException *ex)
{
GtkWidget *dialog;
char *ans;
/* XXX look up stored passwords */
/* XXX parent window? */
dialog = gnome_request_dialog (secret, prompt, NULL, 0,
request_callback, &ans, NULL);
if (!dialog) {
camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM,
"Could not create dialog box.");
return NULL;
}
if (gnome_dialog_run_and_close (GNOME_DIALOG (dialog)) == -1 ||
ans == NULL) {
camel_exception_set (ex, CAMEL_EXCEPTION_USER_CANCEL,
"User cancelled query.");
return NULL;
}
return ans;
}
void
session_init (void)
{
camel_init ();
session = camel_session_new (evolution_auth_callback);
}