diff options
author | Dan Winship <danw@src.gnome.org> | 2002-04-04 02:18:31 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2002-04-04 02:18:31 +0800 |
commit | df281e27199559d0166142ef78c01d7a38d60964 (patch) | |
tree | bcc2c33128259bc537e3611ac82aca2f28c513a4 /camel/providers/local | |
parent | e9a1f5121d164292990f5cec0ef73efd4ddf0ed5 (diff) | |
download | gsoc2013-evolution-df281e27199559d0166142ef78c01d7a38d60964.tar.gz gsoc2013-evolution-df281e27199559d0166142ef78c01d7a38d60964.tar.zst gsoc2013-evolution-df281e27199559d0166142ef78c01d7a38d60964.zip |
make service_cache be an array of CAMEL_NUM_PROVIDER_TYPES elements so you
* camel-provider.h (CamelProvider): make service_cache be an array
of CAMEL_NUM_PROVIDER_TYPES elements so you can have a single
provider offer both stores and transports. (Eg, Exchange, NNTP)
* providers/imap/camel-imap-provider.c: Don't initialize
service_cache here. (The session code can do it itself since the
url_hash and url_equal functions are stored as part of the
provider.)
* providers/nntp/camel-nntp-provider.c: Likewise.
* providers/local/camel-local-provider.c: Likewise.
* providers/pop3/camel-pop3-provider.c: Likewise.
* providers/sendmail/camel-sendmail-provider.c: Likewise.
* providers/smtp/camel-smtp-provider.c: Likewise.
* camel-session.c (register_provider): Initialize the provider's
service cache(s) here.
(camel_session_class_init): Don't initialize.
vee_provider.service_cache here.
(camel_session_destroy_provider): Update to destroy multiple
service_caches.
(service_cache_remove, get_service): Tweak these a bit to deal
with multiple service_caches.
svn path=/trunk/; revision=16330
Diffstat (limited to 'camel/providers/local')
-rw-r--r-- | camel/providers/local/camel-local-provider.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/camel/providers/local/camel-local-provider.c b/camel/providers/local/camel-local-provider.c index 17c3576ae2..ba765ff20c 100644 --- a/camel/providers/local/camel-local-provider.c +++ b/camel/providers/local/camel-local-provider.c @@ -181,31 +181,26 @@ local_url_equal(const void *v, const void *v2) void camel_provider_module_init(CamelSession * session) { mh_provider.object_types[CAMEL_PROVIDER_STORE] = camel_mh_store_get_type(); - mh_provider.service_cache = g_hash_table_new(local_url_hash, local_url_equal); mh_provider.url_hash = local_url_hash; mh_provider.url_equal = local_url_equal; camel_session_register_provider(session, &mh_provider); mbox_provider.object_types[CAMEL_PROVIDER_STORE] = camel_mbox_store_get_type(); - mbox_provider.service_cache = g_hash_table_new(local_url_hash, local_url_equal); mbox_provider.url_hash = local_url_hash; mbox_provider.url_equal = local_url_equal; camel_session_register_provider(session, &mbox_provider); maildir_provider.object_types[CAMEL_PROVIDER_STORE] = camel_maildir_store_get_type(); - maildir_provider.service_cache = g_hash_table_new(local_url_hash, local_url_equal); maildir_provider.url_hash = local_url_hash; maildir_provider.url_equal = local_url_equal; camel_session_register_provider(session, &maildir_provider); spool_provider.object_types[CAMEL_PROVIDER_STORE] = camel_spool_store_get_type(); - spool_provider.service_cache = g_hash_table_new(local_url_hash, local_url_equal); 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); |