Rewrite a bunch. Replace the existing folder cache stuff with much simpler
authorDan Winship <danw@src.gnome.org>
Fri, 9 Feb 2001 16:43:22 +0000 (16:43 +0000)
committerDan Winship <danw@src.gnome.org>
Fri, 9 Feb 2001 16:43:22 +0000 (16:43 +0000)
commit150c6818e6b86857c47df6e3d14d50aab2c5d02a
tree296aca0e85edbaf208a146462813d8acd2d8b55c
parent2344c0a5d429c3921d69f00f502c366cc8bf6327
Rewrite a bunch. Replace the existing folder cache stuff with much simpler

* camel-store.c: Rewrite a bunch. Replace the existing folder
cache stuff with much simpler code that still handles all the
existing cases. Now the folder hash table is always created by the
base class, using hash and compare functions provided by the class
implementation. (If they are set to NULL, CamelStore won't cache
folders.) lookup_folder, cache_folder, and uncache_folder are no
longer class methods, and get_name is gone completely.

(camel_store_get_inbox): Renamed from
camel_store_get_default_folder, since that wasn't being used, and
this is what we actually need.
(camel_store_get_root_folder): Removed, since it's not needed for
anything given get_folder_info.

* camel-remote-store.c:
* providers/local/camel-local-store.c:
* providers/local/camel-mbox-store.c:
* providers/local/camel-mh-store.c:
* providers/local/camel-maildir-store.c:
* providers/nntp/camel-nntp-store.c:
* providers/pop3/camel-pop3-store.c:
* providers/vee/camel-vee-store.c: Minor updates for CamelStore
changes

* providers/imap/camel-imap-store.c (camel_imap_store_class_init):
Update for CamelStore changes.
(hash_folder_name, compare_folder_name): treat INBOX
case-insensitively, otherwise use g_str_hash and g_str_equal.

* camel-service.c (camel_service_construct): Remove
camel_service_new and create camel_service_construct (as a class
method) in its place.

* camel-session.c (camel_session_get_service): Use
camel_object_new and camel_service_construct to replace
camel_service_new.

* providers/local/camel-local-store.c (construct): Append a '/' to
the URL path if it doesn't end with one
15 files changed:
camel/ChangeLog
camel/camel-remote-store.c
camel/camel-service.c
camel/camel-service.h
camel/camel-session.c
camel/camel-store.c
camel/camel-store.h
camel/providers/imap/camel-imap-store.c
camel/providers/local/camel-local-store.c
camel/providers/local/camel-maildir-store.c
camel/providers/local/camel-mbox-store.c
camel/providers/local/camel-mh-store.c
camel/providers/nntp/camel-nntp-store.c
camel/providers/pop3/camel-pop3-store.c
camel/providers/vee/camel-vee-store.c