diff options
Diffstat (limited to 'camel/providers/local/camel-local-provider.c')
-rw-r--r-- | camel/providers/local/camel-local-provider.c | 20 |
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); } |