#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-
+
#include "camel-gw-listener.h"
#include <string.h>
struct _CamelGwListenerPrivate {
GConfClient *gconf_client;
/* we get notification about mail account changes form this object */
- EAccountList *account_list;
-
+ EAccountList *account_list;
};
struct _GwAccountInfo {
#define PARENT_TYPE G_TYPE_OBJECT
static GObjectClass *parent_class = NULL;
-
+
static void dispose (GObject *object);
static void finalize (GObject *object);
-
+
static void
camel_gw_listener_class_init (CamelGwListenerClass *class)
/* virtual method override */
object_class->dispose = dispose;
object_class->finalize = finalize;
-
}
static void
camel_gw_listener_init (CamelGwListener *config_listener, CamelGwListenerClass *class)
{
- config_listener->priv = g_new0 (CamelGwListenerPrivate, 1);
-
+ config_listener->priv = g_new0 (CamelGwListenerPrivate, 1);
}
static void
g_object_unref (config_listener->priv->account_list);
G_OBJECT_CLASS (parent_class)->dispose (object);
-
}
static void
}
g_list_free (groupwise_accounts);
-
}
/*determines whehter the passed in account is groupwise or not by looking at source url */
is_groupwise_account (EAccount *account)
{
if (account->source->url != NULL) {
-
return (strncmp (account->source->url, GROUPWISE_URI_PREFIX, GROUPWISE_PREFIX_LENGTH ) == 0);
} else {
return FALSE;
}
}
-
/* looks up for an existing groupwise account info in the groupwise_accounts list based on uid */
static GwAccountInfo*
info = NULL;
for (list = g_list_first (groupwise_accounts); list; list = g_list_next (list)) {
-
info = (GwAccountInfo *) (list->data);
found = strcmp (info->uid, key) == 0;
if (found)
break;
-
}
-
+
return info;
}
char *relative_uri;
url = camel_url_new (info->source_url, NULL);
- relative_uri = g_strdup_printf ("%s@%s", url->user, url->host);
+ /* FIXME: don't hard-code the port number */
+ relative_uri = g_strdup_printf ("%s@%s:7181", url->user, url->host);
add_esource ("/apps/evolution/calendar/sources", info->name, "Default", relative_uri);
add_esource ("/apps/evolution/tasks/sources", info->name, "Default", relative_uri);