90 lines
3.4 KiB
Diff
90 lines
3.4 KiB
Diff
Index: camel/providers/groupwise/camel-groupwise-store.c
|
|
===================================================================
|
|
RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-store.c,v
|
|
retrieving revision 1.94
|
|
diff -u -p -r1.94 camel-groupwise-store.c
|
|
--- camel/providers/groupwise/camel-groupwise-store.c 13 Mar 2006 06:31:04 -0000 1.94
|
|
+++ camel/providers/groupwise/camel-groupwise-store.c 13 Mar 2006 09:42:28 -0000
|
|
@@ -169,9 +169,9 @@ groupwise_compare_folder_name (gconstpoi
|
|
static gboolean
|
|
groupwise_auth_loop (CamelService *service, CamelException *ex)
|
|
{
|
|
- CamelGroupwiseStore *groupwise_store = CAMEL_GROUPWISE_STORE (service);
|
|
CamelSession *session = camel_service_get_session (service);
|
|
CamelStore *store = CAMEL_STORE (service);
|
|
+ CamelGroupwiseStore *groupwise_store = CAMEL_GROUPWISE_STORE (store);
|
|
CamelGroupwiseStorePrivate *priv = groupwise_store->priv;
|
|
char *errbuf = NULL;
|
|
gboolean authenticated = FALSE;
|
|
@@ -183,6 +183,7 @@ groupwise_auth_loop (CamelService *servi
|
|
else
|
|
uri = g_strconcat ("http://", priv->server_name, ":", priv->port, "/soap", NULL);
|
|
service->url->passwd = NULL;
|
|
+
|
|
|
|
while (!authenticated) {
|
|
if (errbuf) {
|
|
@@ -192,6 +193,7 @@ groupwise_auth_loop (CamelService *servi
|
|
service->url->passwd = NULL;
|
|
}
|
|
|
|
+
|
|
if (!service->url->passwd && !(store->flags & CAMEL_STORE_PROXY)) {
|
|
char *prompt;
|
|
|
|
@@ -268,10 +270,9 @@ groupwise_connect (CamelService *service
|
|
d("in groupwise store connect\n");
|
|
|
|
/* if (((CamelOfflineStore *) store)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL ||
|
|
- (service->status == CAMEL_SERVICE_DISCONNECTED))
|
|
+ (service->status == CAMEL_SERVICE_DISCONNECTED))
|
|
return FALSE; */
|
|
-
|
|
- if (((CamelOfflineStore *) store)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL)
|
|
+ if (service->status == CAMEL_SERVICE_DISCONNECTED)
|
|
return FALSE;
|
|
|
|
if (!priv) {
|
|
@@ -293,7 +294,9 @@ groupwise_connect (CamelService *service
|
|
return FALSE;
|
|
}
|
|
|
|
+
|
|
service->status = CAMEL_SERVICE_CONNECTED;
|
|
+ ((CamelOfflineStore *) store)->state = CAMEL_OFFLINE_STORE_NETWORK_AVAIL;
|
|
|
|
if (!e_gw_connection_get_version (priv->cnc)) {
|
|
camel_session_alert_user(session,
|
|
@@ -1110,6 +1113,7 @@ groupwise_get_folder_info (CamelStore *s
|
|
if (top && groupwise_is_system_folder (top))
|
|
return groupwise_build_folder_info (groupwise_store, NULL, top );
|
|
|
|
+
|
|
/*
|
|
* Thanks to Michael, for his cached folders implementation in IMAP
|
|
* is used as is here.
|
|
@@ -1141,6 +1145,12 @@ groupwise_get_folder_info (CamelStore *s
|
|
|
|
CAMEL_SERVICE_LOCK (store, connect_lock);
|
|
if ((groupwise_store->list_loaded == FALSE) && check_for_connection((CamelService *)store, ex)) {
|
|
+ if (!priv->cnc) {
|
|
+ if (groupwise_connect ((CamelService *)store, ex)) {
|
|
+ g_warning ("Could connect!!!\n");
|
|
+ } else
|
|
+ g_warning ("Could not connect..failure connecting\n");
|
|
+ }
|
|
if (camel_groupwise_store_connected ((CamelGroupwiseStore *)store, ex)) {
|
|
groupwise_store->list_loaded = TRUE;
|
|
groupwise_folders_sync (groupwise_store, ex);
|
|
@@ -1416,8 +1426,9 @@ gboolean
|
|
camel_groupwise_store_connected (CamelGroupwiseStore *store, CamelException *ex)
|
|
{
|
|
if (((CamelOfflineStore *) store)->state == CAMEL_OFFLINE_STORE_NETWORK_AVAIL
|
|
- && camel_service_connect ((CamelService *)store, ex))
|
|
+ && camel_service_connect ((CamelService *)store, ex)) {
|
|
return TRUE;
|
|
+ }
|
|
/*Not online, so return FALSE*/
|
|
return FALSE;
|
|
}
|