aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/pop3/camel-pop3-store.c
diff options
context:
space:
mode:
authorPeter Williams <peterw@src.gnome.org>2000-08-23 04:09:11 +0800
committerPeter Williams <peterw@src.gnome.org>2000-08-23 04:09:11 +0800
commit130bb0e5710983ce14d1151f2611beaff6891379 (patch)
treeb54b0a4141379ea553cdad8b7ac6d80a5fba2acb /camel/providers/pop3/camel-pop3-store.c
parentdcc47cc15f6ff1e1cb866495625006e5481f85a6 (diff)
downloadgsoc2013-evolution-130bb0e5710983ce14d1151f2611beaff6891379.tar
gsoc2013-evolution-130bb0e5710983ce14d1151f2611beaff6891379.tar.gz
gsoc2013-evolution-130bb0e5710983ce14d1151f2611beaff6891379.tar.bz2
gsoc2013-evolution-130bb0e5710983ce14d1151f2611beaff6891379.tar.lz
gsoc2013-evolution-130bb0e5710983ce14d1151f2611beaff6891379.tar.xz
gsoc2013-evolution-130bb0e5710983ce14d1151f2611beaff6891379.tar.zst
gsoc2013-evolution-130bb0e5710983ce14d1151f2611beaff6891379.zip
Automatically connect services when given a valid URL (should hopefully disconnect, too); remove the old movemail folder correctly.
svn path=/trunk/; revision=4965
Diffstat (limited to 'camel/providers/pop3/camel-pop3-store.c')
-rw-r--r--camel/providers/pop3/camel-pop3-store.c61
1 files changed, 41 insertions, 20 deletions
diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c
index 78d7d106e5..c140ffd57a 100644
--- a/camel/providers/pop3/camel-pop3-store.c
+++ b/camel/providers/pop3/camel-pop3-store.c
@@ -62,7 +62,8 @@ static void finalize (CamelObject *object);
static gboolean pop3_connect (CamelService *service, CamelException *ex);
static gboolean pop3_disconnect (CamelService *service, CamelException *ex);
-static GList *query_auth_types (CamelService *service, CamelException *ex);
+static GList *query_auth_types_connected (CamelService *service, CamelException *ex);
+static GList *query_auth_types_generic (CamelService *service, CamelException *ex);
static void free_auth_types (CamelService *service, GList *authtypes);
static char *get_name (CamelService *service, gboolean brief);
@@ -88,7 +89,8 @@ camel_pop3_store_class_init (CamelPop3StoreClass *camel_pop3_store_class)
/* virtual method overload */
camel_service_class->connect = pop3_connect;
camel_service_class->disconnect = pop3_disconnect;
- camel_service_class->query_auth_types = query_auth_types;
+ camel_service_class->query_auth_types_connected = query_auth_types_connected;
+ camel_service_class->query_auth_types_generic = query_auth_types_generic;
camel_service_class->free_auth_types = free_auth_types;
camel_service_class->get_name = get_name;
@@ -129,11 +131,12 @@ static void
finalize (CamelObject *object)
{
CamelPop3Store *pop3_store = CAMEL_POP3_STORE (object);
- CamelException ex;
+ /*CamelException ex;*/
- camel_exception_init (&ex);
- pop3_disconnect (CAMEL_SERVICE (object), &ex);
- camel_exception_clear (&ex);
+ /*camel_exception_init (&ex);
+ *pop3_disconnect (CAMEL_SERVICE (object), &ex);
+ *camel_exception_clear (&ex);
+ */
if (pop3_store->apop_timestamp)
g_free (pop3_store->apop_timestamp);
@@ -315,7 +318,7 @@ connect_to_server (CamelService *service, gboolean real, CamelException *ex)
}
static GList *
-query_auth_types (CamelService *service, CamelException *ex)
+query_auth_types_connected (CamelService *service, CamelException *ex)
{
CamelPop3Store *store = CAMEL_POP3_STORE (service);
GList *ret = NULL;
@@ -362,6 +365,20 @@ query_auth_types (CamelService *service, CamelException *ex)
return ret;
}
+static GList *
+query_auth_types_generic (CamelService *service, CamelException *ex)
+{
+ GList *ret;
+
+ ret = g_list_append (NULL, &password_authtype);
+ ret = g_list_append (ret, &apop_authtype);
+#ifdef HAVE_KRB4
+ ret = g_list_append (ret, &kpop_authtype);
+#endif
+
+ return ret;
+}
+
static void
free_auth_types (CamelService *service, GList *authtypes)
{
@@ -556,10 +573,12 @@ get_folder (CamelStore *store, const char *folder_name,
{
CamelService *service = CAMEL_SERVICE (store);
- if (!camel_service_is_connected (service)) {
- if (!camel_service_connect (service, ex))
- return NULL;
- }
+ /* if (!camel_service_is_connected (service)) {
+ * if (!camel_service_connect (service, ex))
+ * return NULL;
+ *}
+ */
+
return camel_pop3_folder_new (store, ex);
}
@@ -610,15 +629,17 @@ camel_pop3_command (CamelPop3Store *store, char **ret, char *fmt, ...)
va_list ap;
if (!store->ostream) {
- CamelException ex;
-
- camel_exception_init (&ex);
- if (!camel_service_connect (CAMEL_SERVICE (store), &ex)) {
- if (ret)
- *ret = g_strdup (camel_exception_get_description (&ex));
- camel_exception_clear (&ex);
- return CAMEL_POP3_FAIL;
- }
+ /*CamelException ex;
+ *
+ *camel_exception_init (&ex);
+ *if (!camel_service_connect (CAMEL_SERVICE (store), &ex)) {
+ * if (ret)
+ * *ret = g_strdup (camel_exception_get_description (&ex));
+ * camel_exception_clear (&ex);
+ */
+
+ return CAMEL_POP3_FAIL;
+ /*}*/
}
va_start (ap, fmt);