diff options
author | Arturo Espinosa <unammx@src.gnome.org> | 2000-02-17 03:57:02 +0800 |
---|---|---|
committer | Arturo Espinosa <unammx@src.gnome.org> | 2000-02-17 03:57:02 +0800 |
commit | f8f771b3f36075b60d25c48595c4ff3964a3eea6 (patch) | |
tree | ab9cbc9ed689ed7dec1abc25bf72cd798fbc12ee /mail | |
parent | 8400162c3178a83c761f2628b5d97a9cdd2a7100 (diff) | |
download | gsoc2013-evolution-f8f771b3f36075b60d25c48595c4ff3964a3eea6.tar.gz gsoc2013-evolution-f8f771b3f36075b60d25c48595c4ff3964a3eea6.tar.zst gsoc2013-evolution-f8f771b3f36075b60d25c48595c4ff3964a3eea6.zip |
Add session.c
svn path=/trunk/; revision=1800
Diffstat (limited to 'mail')
-rw-r--r-- | mail/session.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/mail/session.c b/mail/session.c new file mode 100644 index 0000000000..24197951f3 --- /dev/null +++ b/mail/session.c @@ -0,0 +1,67 @@ +/* + * 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 "session.h" +#include "e-util/e-setup.h" +#include "camel/camel.h" + +SessionStore *default_session; + +static void +session_providers_init (void) +{ + camel_provider_register_as_module (CAMEL_PROVIDERDIR "/libcamelmbox.so"); +} + +SessionStore * +session_store_new (const char *uri) +{ + SessionStore *ss = g_new (SessionStore, 1); + + ss->session = camel_session_new (); + ss->store = camel_session_get_store (ss->session, uri); + + g_assert (ss->session); + g_assert (ss->store); + + return ss; +} + +void +session_store_destroy (SessionStore *ss) +{ + g_assert (ss != NULL); + + gtk_object_unref (GTK_OBJECT (ss->store)); + gtk_object_unref (GTK_OBJECT (ss->session)); + + g_free (ss); +} + +static void +init_default_session (void) +{ + char *url; + + url = g_strconcat ("mbox://", evolution_folders_dir, NULL); + default_session = session_store_new (url); + g_free (url); +} + +void +session_init (void) +{ + e_setup_base_dir (); + camel_init (); + session_providers_init (); + + init_default_session (); +} + + |