diff options
author | Peter Williams <peterw@src.gnome.org> | 2000-08-31 01:09:42 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2000-08-31 01:09:42 +0800 |
commit | 2bdcfe5c47e9add476eab5d848b30d9d1715c153 (patch) | |
tree | 03ea965b34ee45f22bc00a737e9d9af1dd1992f7 /camel/camel-session.c | |
parent | e8df3eea83688f5656c076952dfcffb297c08ad1 (diff) | |
download | gsoc2013-evolution-2bdcfe5c47e9add476eab5d848b30d9d1715c153.tar.gz gsoc2013-evolution-2bdcfe5c47e9add476eab5d848b30d9d1715c153.tar.zst gsoc2013-evolution-2bdcfe5c47e9add476eab5d848b30d9d1715c153.zip |
Make CamelServices connect only when told to (old behavior). Make CamelRemoteStore do its stuff in service::connect, not ::post_connect.
svn path=/trunk/; revision=5116
Diffstat (limited to 'camel/camel-session.c')
-rw-r--r-- | camel/camel-session.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/camel/camel-session.c b/camel/camel-session.c index 3454517216..9992a48aaf 100644 --- a/camel/camel-session.c +++ b/camel/camel-session.c @@ -253,6 +253,25 @@ camel_session_get_service (CamelSession *session, const char *url_string, return service; } +CamelService * +camel_session_get_service_connected (CamelSession *session, const char *url_string, + CamelProviderType type, CamelException *ex) +{ + CamelService *svc; + + svc = camel_session_get_service (session, url_string, type, ex); + if (svc == NULL) + return NULL; + + if (svc->connected == FALSE) { + if (camel_service_connect (svc, ex) == FALSE) { + camel_object_unref (CAMEL_OBJECT (svc)); + return NULL; + } + } + + return svc; +} /** * camel_session_query_authenticator: query the session authenticator |