aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-session.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-session.c')
-rw-r--r--camel/camel-session.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/camel/camel-session.c b/camel/camel-session.c
index 5ef31158b7..f8e27c382b 100644
--- a/camel/camel-session.c
+++ b/camel/camel-session.c
@@ -40,6 +40,7 @@
#include "camel-url.h"
#include "hash-table-utils.h"
#include <gal/util/e-util.h>
+#include "camel-vee-store.h"
#include "camel-private.h"
@@ -47,6 +48,24 @@
static CamelObjectClass *parent_class;
+/* The vfolder provider is always avilable */
+static CamelProvider vee_provider = {
+ "vfolder",
+ N_("Virtual folder email provider"),
+
+ N_("For reading mail as a query of another set of folders"),
+
+ "vfolder",
+
+ 0,
+
+ 0,
+
+ { 0, 0 },
+
+ NULL
+};
+
static void
camel_session_init (CamelSession *session)
{
@@ -135,6 +154,11 @@ camel_session_new (const char *storage_path,
session->authenticator = authenticator;
session->registrar = registrar;
session->remover = remover;
+
+ vee_provider.object_types[CAMEL_PROVIDER_STORE] = camel_vee_store_get_type();
+ vee_provider.service_cache = g_hash_table_new(camel_url_hash, camel_url_equal);
+ camel_session_register_provider(session, &vee_provider);
+
return session;
}