aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/local/camel-local-provider.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/local/camel-local-provider.c')
-rw-r--r--camel/providers/local/camel-local-provider.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/camel/providers/local/camel-local-provider.c b/camel/providers/local/camel-local-provider.c
index f4a4301022..17c3576ae2 100644
--- a/camel/providers/local/camel-local-provider.c
+++ b/camel/providers/local/camel-local-provider.c
@@ -34,6 +34,7 @@
#include "camel-mbox-store.h"
#include "camel-maildir-store.h"
#include "camel-spool-store.h"
+#include "camel-spoold-store.h"
#define d(x)
@@ -68,8 +69,7 @@ static CamelProvider maildir_provider = {
N_("Maildir-format mail directories"),
N_("For storing local mail in maildir directories."),
"mail",
- CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE |
- CAMEL_PROVIDER_IS_LOCAL,
+ CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE | CAMEL_PROVIDER_IS_LOCAL,
CAMEL_URL_NEED_PATH | CAMEL_URL_PATH_IS_ABSOLUTE,
local_conf_entries,
/* ... */
@@ -86,6 +86,16 @@ static CamelProvider spool_provider = {
/* ... */
};
+static CamelProvider spoold_provider = {
+ "spoold",
+ N_("Directory tree of mbox files"),
+ N_("For accessing mail storedin an external tree of mbox files.\nThis will allow you to directly access pine and elm folders.\nNOTE: This provider is still experimental so ensure you backup any mail folders first."),
+ "mail",
+ CAMEL_PROVIDER_IS_SOURCE | CAMEL_PROVIDER_IS_STORAGE | CAMEL_PROVIDER_IS_LOCAL,
+ CAMEL_URL_NEED_PATH | CAMEL_URL_PATH_IS_ABSOLUTE,
+ /* ... */
+};
+
/* build a canonical 'path' */
static char *
make_can_path(char *p, char *o)
@@ -193,4 +203,10 @@ void camel_provider_module_init(CamelSession * session)
spool_provider.url_hash = local_url_hash;
spool_provider.url_equal = local_url_equal;
camel_session_register_provider(session, &spool_provider);
+
+ spoold_provider.object_types[CAMEL_PROVIDER_STORE] = camel_spoold_store_get_type();
+ spoold_provider.service_cache = g_hash_table_new(local_url_hash, local_url_equal);
+ spoold_provider.url_hash = local_url_hash;
+ spoold_provider.url_equal = local_url_equal;
+ camel_session_register_provider(session, &spoold_provider);
}