diff options
author | Dan Winship <danw@src.gnome.org> | 2000-05-04 23:23:43 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2000-05-04 23:23:43 +0800 |
commit | ba6b73fe56390dc752b43443701073fff7289709 (patch) | |
tree | dbcb834a29a525587107981b0883f486b9141f8d /camel/camel-service.c | |
parent | 929f89ce1c6fd86370839283e467127c2a1be3f6 (diff) | |
download | gsoc2013-evolution-ba6b73fe56390dc752b43443701073fff7289709.tar gsoc2013-evolution-ba6b73fe56390dc752b43443701073fff7289709.tar.gz gsoc2013-evolution-ba6b73fe56390dc752b43443701073fff7289709.tar.bz2 gsoc2013-evolution-ba6b73fe56390dc752b43443701073fff7289709.tar.lz gsoc2013-evolution-ba6b73fe56390dc752b43443701073fff7289709.tar.xz gsoc2013-evolution-ba6b73fe56390dc752b43443701073fff7289709.tar.zst gsoc2013-evolution-ba6b73fe56390dc752b43443701073fff7289709.zip |
New function to replace camel_provider_scan. Returns a list of either (a)
* camel-session.c (camel_session_list_providers): New function to
replace camel_provider_scan. Returns a list of either (a) all
currently-loaded providers, or (b) all available providers.
* camel-url.[ch]: Add an "empty" flag to CamelURL (indicating that
it contains only a protocol).
* camel-service.c (camel_service_query_auth_types): Make this take
a CamelException (since it may have to try to connect to the
server, and it might not able to.)
* providers/pop3/camel-pop3-store.c: add KPOP (Kerberized POP)
support. This is mostly so I have two kinds of authmech to play
with instead of just one. (But it does actually work.)
* providers/smtp/camel-smtp-transport.c (query_auth_types): update
for prototype change, but disable the functionality, since it
doesn't really support any auth types yet.
(camel_smtp_transport_get_type): add an object init function to
set the service url_flags.
svn path=/trunk/; revision=2797
Diffstat (limited to 'camel/camel-service.c')
-rw-r--r-- | camel/camel-service.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/camel/camel-service.c b/camel/camel-service.c index 77ba709682..edb71d2a78 100644 --- a/camel/camel-service.c +++ b/camel/camel-service.c @@ -1,5 +1,5 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* camelService.c : Abstract class for an email service */ +/* camel-service.c : Abstract class for an email service */ /* * @@ -40,7 +40,7 @@ static gboolean _connect_with_url (CamelService *service, CamelURL *url, CamelException *ex); static gboolean _disconnect(CamelService *service, CamelException *ex); static gboolean _is_connected (CamelService *service); -static GList * _query_auth_types (CamelService *service); +static GList * _query_auth_types (CamelService *service, CamelException *ex); static void _free_auth_types (CamelService *service, GList *authtypes); static void _finalize (GtkObject *object); static gboolean _set_url (CamelService *service, CamelURL *url, @@ -129,7 +129,7 @@ camel_service_new (GtkType type, CamelSession *session, CamelURL *url, service = CAMEL_SERVICE (gtk_object_new (type, NULL)); service->session = session; gtk_object_ref (GTK_OBJECT (session)); - if (url) { + if (!url->empty) { if (!_set_url (service, url, ex)) return NULL; } @@ -372,7 +372,7 @@ camel_service_get_session (CamelService *service) GList * -_query_auth_types (CamelService *service) +_query_auth_types (CamelService *service, CamelException *ex) { return NULL; } @@ -381,6 +381,7 @@ _query_auth_types (CamelService *service) * camel_service_query_auth_types: return a list of supported * authentication types. * @service: a CamelService + * @ex: a CamelException * * This is used by the mail source wizard to get the list of * authentication types supported by the protocol, and information @@ -388,17 +389,18 @@ _query_auth_types (CamelService *service) * * This may be called on a service with or without an associated URL. * If there is no URL, the routine must return a generic answer. If - * the service does have a URL, the routine MAY connect to the server - * and query what authentication mechanisms it supports. + * the service does have a URL, the routine SHOULD connect to the + * server and query what authentication mechanisms it supports. If + * it cannot do that for any reason, it should set @ex accordingly. * * Return value: a list of CamelServiceAuthType records. The caller * must free the list by calling camel_service_free_auth_types when * it is done. **/ GList * -camel_service_query_auth_types (CamelService *service) +camel_service_query_auth_types (CamelService *service, CamelException *ex) { - return CSERV_CLASS (service)->query_auth_types (service); + return CSERV_CLASS (service)->query_auth_types (service, ex); } static void |