aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/local/camel-local-provider.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2002-02-08 10:10:46 +0800
committerMichael Zucci <zucchi@src.gnome.org>2002-02-08 10:10:46 +0800
commitd56ec225b805cb7a071d10adf99a93979cb3d0e7 (patch)
tree8888dc6007f3d7d8b8af5c51c0f4bf2936918491 /camel/providers/local/camel-local-provider.c
parent92d7dbf6cea9dc43bd55e353c9b38315791a6317 (diff)
downloadgsoc2013-evolution-d56ec225b805cb7a071d10adf99a93979cb3d0e7.tar
gsoc2013-evolution-d56ec225b805cb7a071d10adf99a93979cb3d0e7.tar.gz
gsoc2013-evolution-d56ec225b805cb7a071d10adf99a93979cb3d0e7.tar.bz2
gsoc2013-evolution-d56ec225b805cb7a071d10adf99a93979cb3d0e7.tar.lz
gsoc2013-evolution-d56ec225b805cb7a071d10adf99a93979cb3d0e7.tar.xz
gsoc2013-evolution-d56ec225b805cb7a071d10adf99a93979cb3d0e7.tar.zst
gsoc2013-evolution-d56ec225b805cb7a071d10adf99a93979cb3d0e7.zip
The day number has to be 2 chars wide, space filled to work properly with
2002-02-08 Not Zed <NotZed@Ximian.com> * providers/local/camel-spool-summary.c (camel_spool_summary_build_from): The day number has to be 2 chars wide, space filled to work properly with pine, etc. * providers/local/camel-spoold-store.[ch]: new type of provider 'spool directory', which lets you view external mbox dirs without adding any extra cruft. Perhaps it should use . files to store summaries? Still a bit experimental, there's a warning when you select it in the account editor. Finished off most of #1185. Can't rename or move folders. * camel-mime-utils.c (header_decode_date): If the date is 100->1900 then we actually want to use it as the year in the tm struct, not year+100. e.g. year 102 -> 2002, not 2102. 2002-02-07 Not Zed <NotZed@Ximian.com> * providers/local/camel-spool-store.c (get_folder): Pass path into spool_folder_new. * providers/local/camel-spool-folder.c (camel_spool_folder_new): (camel_spool_folder_construct): Take the full path to the folder and use that as the file path, independent of the full_name we use. 2002-02-07 Not Zed <NotZed@Ximian.com> * providers/local/camel-local-provider.c: Added new type, spoold provider, spoold: for local directories. * providers/imap/camel-imap-store.c (get_one_folder_offline): Create offline uri's in a compatible manner to online ones. svn path=/trunk/; revision=15606
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);
}