From 61e47e195ea3084227b2a986e055bfdb7e18444b Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 28 Sep 2001 22:38:08 +0000 Subject: Init the nntp url hash and url_equal functions. 2001-09-28 Jeffrey Stedfast * providers/nntp/camel-nntp-provider.c (camel_provider_module_init): Init the nntp url hash and url_equal functions. * providers/sendmail/camel-sendmail-provider.c (camel_provider_module_init): Init the sendmail url hash and url_equal functions. * providers/smtp/camel-smtp-provider.c (camel_provider_module_init): Init the smtp url hash and url_equal functions. * providers/pop3/camel-pop3-provider.c (camel_provider_module_init): Init the pop3 url hash and url_equal functions. * providers/imap/camel-imap-provider.c (camel_provider_module_init): Init the imap url hash and url_equal functions. * providers/local/camel-local-provider.c (camel_provider_module_init): Init the local url hash and url_equal functions. * camel-session.c (camel_session_class_init): Init the vfolder url hash and url_equal functions. * camel-provider.h: Added url_hash and url_equal function pointers to the structure. * camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a CamelFolder is not a CamelFolderClass. svn path=/trunk/; revision=13237 --- camel/ChangeLog | 30 ++++++++++++++++++++++ camel/camel-provider.h | 4 ++- camel/camel-session.c | 6 +++-- camel/providers/imap/camel-imap-provider.c | 2 ++ camel/providers/local/camel-local-provider.c | 8 ++++++ camel/providers/nntp/camel-nntp-provider.c | 4 ++- camel/providers/pop3/camel-pop3-provider.c | 4 ++- camel/providers/sendmail/camel-sendmail-provider.c | 4 ++- camel/providers/smtp/camel-smtp-provider.c | 4 ++- 9 files changed, 59 insertions(+), 7 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index 1655d50437..2d2a2c71ad 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,35 @@ 2001-09-28 Jeffrey Stedfast + * providers/nntp/camel-nntp-provider.c + (camel_provider_module_init): Init the nntp url hash and url_equal + functions. + + * providers/sendmail/camel-sendmail-provider.c + (camel_provider_module_init): Init the sendmail url hash and + url_equal functions. + + * providers/smtp/camel-smtp-provider.c + (camel_provider_module_init): Init the smtp url hash and url_equal + functions. + + * providers/pop3/camel-pop3-provider.c + (camel_provider_module_init): Init the pop3 url hash and url_equal + functions. + + * providers/imap/camel-imap-provider.c + (camel_provider_module_init): Init the imap url hash and url_equal + functions. + + * providers/local/camel-local-provider.c + (camel_provider_module_init): Init the local url hash and + url_equal functions. + + * camel-session.c (camel_session_class_init): Init the vfolder url + hash and url_equal functions. + + * camel-provider.h: Added url_hash and url_equal function pointers + to the structure. + * camel-vtrash-folder.c (vtrash_move_messages_to): Oops, a CamelFolder is not a CamelFolderClass. diff --git a/camel/camel-provider.h b/camel/camel-provider.h index 5301a42ec6..ee4a98fc9d 100644 --- a/camel/camel-provider.h +++ b/camel/camel-provider.h @@ -145,7 +145,9 @@ typedef struct { GList *authtypes; GHashTable *service_cache; - + + GHashFunc url_hash; + GCompareFunc url_equal; } CamelProvider; GHashTable *camel_provider_init (void); diff --git a/camel/camel-session.c b/camel/camel-session.c index facedb9400..e30f82d955 100644 --- a/camel/camel-session.c +++ b/camel/camel-session.c @@ -99,7 +99,7 @@ camel_session_init (CamelSession *session) session->priv->thread_id = 1; session->priv->thread_active = g_hash_table_new(NULL, NULL); session->priv->thread_queue = NULL; -#endif +#endif } static gboolean @@ -151,10 +151,12 @@ camel_session_class_init (CamelSessionClass *camel_session_class) camel_session_class->thread_queue = session_thread_queue; camel_session_class->thread_wait = session_thread_wait; #endif - + if (vee_provider.service_cache == NULL) { vee_provider.object_types[CAMEL_PROVIDER_STORE] = camel_vee_store_get_type (); vee_provider.service_cache = g_hash_table_new (camel_url_hash, camel_url_equal); + vee_provider.url_hash = camel_url_hash; + vee_provider.url_equal = camel_url_equal; } } diff --git a/camel/providers/imap/camel-imap-provider.c b/camel/providers/imap/camel-imap-provider.c index d3448a0156..40ec09f3ca 100644 --- a/camel/providers/imap/camel-imap-provider.c +++ b/camel/providers/imap/camel-imap-provider.c @@ -92,6 +92,8 @@ camel_provider_module_init (CamelSession *session) imap_provider.object_types[CAMEL_PROVIDER_STORE] = camel_imap_store_get_type (); imap_provider.service_cache = g_hash_table_new (imap_url_hash, imap_url_equal); + imap_provider.url_hash = imap_url_hash; + imap_provider.url_equal = imap_url_equal; imap_provider.authtypes = g_list_concat (camel_remote_store_authtype_list (), camel_sasl_authtype_list (FALSE)); imap_provider.authtypes = g_list_prepend (imap_provider.authtypes, diff --git a/camel/providers/local/camel-local-provider.c b/camel/providers/local/camel-local-provider.c index 606416fc37..2ee5ea27ba 100644 --- a/camel/providers/local/camel-local-provider.c +++ b/camel/providers/local/camel-local-provider.c @@ -87,17 +87,25 @@ 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(camel_url_hash, camel_url_equal); + mh_provider.url_hash = camel_url_hash; + mh_provider.url_equal = camel_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(camel_url_hash, camel_url_equal); + mbox_provider.url_hash = camel_url_hash; + mbox_provider.url_equal = camel_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(camel_url_hash, camel_url_equal); + maildir_provider.url_hash = camel_url_hash; + maildir_provider.url_equal = camel_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(camel_url_hash, camel_url_equal); + spool_provider.url_hash = camel_url_hash; + spool_provider.url_equal = camel_url_equal; camel_session_register_provider(session, &spool_provider); } diff --git a/camel/providers/nntp/camel-nntp-provider.c b/camel/providers/nntp/camel-nntp-provider.c index cb08912b83..a8afe48c02 100644 --- a/camel/providers/nntp/camel-nntp-provider.c +++ b/camel/providers/nntp/camel-nntp-provider.c @@ -61,7 +61,9 @@ camel_provider_module_init (CamelSession *session) camel_nntp_store_get_type(); news_provider.service_cache = g_hash_table_new (nntp_url_hash, nntp_url_equal); - + news_provider.url_hash = nntp_url_hash; + news_provider.url_equal = nntp_url_equal; + camel_session_register_provider (session, &news_provider); } diff --git a/camel/providers/pop3/camel-pop3-provider.c b/camel/providers/pop3/camel-pop3-provider.c index bc7fbf1c8f..d1351c2daf 100644 --- a/camel/providers/pop3/camel-pop3-provider.c +++ b/camel/providers/pop3/camel-pop3-provider.c @@ -103,7 +103,9 @@ camel_provider_module_init (CamelSession *session) pop3_provider.object_types[CAMEL_PROVIDER_STORE] = camel_pop3_store_get_type (); pop3_provider.service_cache = g_hash_table_new (camel_url_hash, camel_url_equal); - + pop3_provider.url_hash = camel_url_hash; + pop3_provider.url_equal = camel_url_equal; + #ifdef HAVE_KRB4 pop3_provider.authtypes = g_list_prepend (camel_remote_store_authtype_list (), &camel_pop3_kpop_authtype); #endif diff --git a/camel/providers/sendmail/camel-sendmail-provider.c b/camel/providers/sendmail/camel-sendmail-provider.c index d61351867c..05b97bc495 100644 --- a/camel/providers/sendmail/camel-sendmail-provider.c +++ b/camel/providers/sendmail/camel-sendmail-provider.c @@ -53,8 +53,10 @@ camel_provider_module_init (CamelSession *session) { sendmail_provider.object_types[CAMEL_PROVIDER_TRANSPORT] = camel_sendmail_transport_get_type(); - + sendmail_provider.service_cache = g_hash_table_new (camel_url_hash, camel_url_equal); + sendmail_provider.url_hash = camel_url_hash; + sendmail_provider.url_equal = camel_url_equal; camel_session_register_provider (session, &sendmail_provider); } diff --git a/camel/providers/smtp/camel-smtp-provider.c b/camel/providers/smtp/camel-smtp-provider.c index a52f3c3a14..88b995222b 100644 --- a/camel/providers/smtp/camel-smtp-provider.c +++ b/camel/providers/smtp/camel-smtp-provider.c @@ -57,7 +57,9 @@ camel_provider_module_init (CamelSession *session) smtp_provider.authtypes = g_list_append(camel_sasl_authtype_list(TRUE), camel_sasl_authtype ("LOGIN")); smtp_provider.authtypes = g_list_append(smtp_provider.authtypes, camel_sasl_authtype ("POPB4SMTP")); smtp_provider.service_cache = g_hash_table_new (camel_url_hash, camel_url_equal); - + smtp_provider.url_hash = camel_url_hash; + smtp_provider.url_equal = camel_url_equal; + camel_session_register_provider (session, &smtp_provider); } -- cgit