aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-07-02 07:07:18 +0800
committerDan Winship <danw@src.gnome.org>2000-07-02 07:07:18 +0800
commit98753e92d2b6bb52978c2ac9d38d29b8d2372978 (patch)
tree89bb98c0ad5d252931f0e65c9db1d904c8324d96 /camel/providers
parent6dabd2bd964e2e6692fa01261104fe4a510a0fa8 (diff)
downloadgsoc2013-evolution-98753e92d2b6bb52978c2ac9d38d29b8d2372978.tar.gz
gsoc2013-evolution-98753e92d2b6bb52978c2ac9d38d29b8d2372978.tar.zst
gsoc2013-evolution-98753e92d2b6bb52978c2ac9d38d29b8d2372978.zip
New method, to return an end-user-friendly name corresponding to a
* camel-service.c (camel_service_get_name): New method, to return an end-user-friendly name corresponding to a service. (eg, "POP service for danw on trna.helixcode.com"). * providers/imap/camel-imap-store.c, providers/mbox/camel-mbox-store.c, providers/nntp/camel-nntp-store.c, providers/pop3/camel-pop3-store.c, providers/sendmail/camel-sendmail-transport.c, providers/smtp/camel-smtp-transport.c: Implement. svn path=/trunk/; revision=3851
Diffstat (limited to 'camel/providers')
-rw-r--r--camel/providers/imap/camel-imap-store.c14
-rw-r--r--camel/providers/mbox/camel-mbox-store.c13
-rw-r--r--camel/providers/nntp/camel-nntp-store.c11
-rw-r--r--camel/providers/pop3/camel-pop3-store.c15
-rw-r--r--camel/providers/sendmail/camel-sendmail-transport.c15
-rw-r--r--camel/providers/smtp/camel-smtp-transport.c13
6 files changed, 80 insertions, 1 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index 017ab97116..75da7529b3 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -58,6 +58,7 @@ static gboolean imap_connect (CamelService *service, CamelException *ex);
static gboolean imap_disconnect (CamelService *service, CamelException *ex);
static GList *query_auth_types (CamelService *service, CamelException *ex);
static void free_auth_types (CamelService *service, GList *authtypes);
+static char *get_name (CamelService *service, gboolean brief);
static CamelFolder *get_folder (CamelStore *store, const char *folder_name, gboolean create,
CamelException *ex);
static char *get_folder_name (CamelStore *store, const char *folder_name, CamelException *ex);
@@ -83,6 +84,7 @@ camel_imap_store_class_init (CamelImapStoreClass *camel_imap_store_class)
camel_service_class->disconnect = imap_disconnect;
camel_service_class->query_auth_types = query_auth_types;
camel_service_class->free_auth_types = free_auth_types;
+ camel_service_class->get_name = get_name;
camel_store_class->get_folder = get_folder;
camel_store_class->get_folder_name = get_folder_name;
@@ -204,6 +206,18 @@ free_auth_types (CamelService *service, GList *authtypes)
g_list_free (authtypes);
}
+static char *
+get_name (CamelService *service, gboolean brief)
+{
+ if (brief)
+ return g_strdup_printf ("IMAP server %s", service->url->host);
+ else {
+ return g_strdup_printf ("IMAP service for %s on %s",
+ service->url->user,
+ service->url->host);
+ }
+}
+
static gboolean
imap_connect (CamelService *service, CamelException *ex)
{
diff --git a/camel/providers/mbox/camel-mbox-store.c b/camel/providers/mbox/camel-mbox-store.c
index 42cb931927..19b7c54612 100644
--- a/camel/providers/mbox/camel-mbox-store.c
+++ b/camel/providers/mbox/camel-mbox-store.c
@@ -39,6 +39,7 @@
#define CF_CLASS(so) CAMEL_FOLDER_CLASS (GTK_OBJECT(so)->klass)
#define CMBOXF_CLASS(so) CAMEL_MBOX_FOLDER_CLASS (GTK_OBJECT(so)->klass)
+static char *get_name (CamelService *service, gboolean brief);
static CamelFolder *get_folder (CamelStore *store, const char *folder_name,
gboolean create, CamelException *ex);
static void delete_folder (CamelStore *store, const char *folder_name,
@@ -50,8 +51,11 @@ static void
camel_mbox_store_class_init (CamelMboxStoreClass *camel_mbox_store_class)
{
CamelStoreClass *camel_store_class = CAMEL_STORE_CLASS (camel_mbox_store_class);
+ CamelServiceClass *camel_service_class = CAMEL_SERVICE_CLASS (camel_mbox_store_class);
/* virtual method overload */
+ camel_service_class->get_name = get_name;
+
camel_store_class->get_folder = get_folder;
camel_store_class->delete_folder = delete_folder;
camel_store_class->get_folder_name = get_folder_name;
@@ -229,3 +233,12 @@ get_folder_name (CamelStore *store, const char *folder_name, CamelException *ex)
return *folder_name == '/' ? g_strdup (folder_name) :
g_strdup_printf ("/%s", folder_name);
}
+
+static char *
+get_name (CamelService *service, gboolean brief)
+{
+ if (brief)
+ return g_strdup (service->url->path);
+ else
+ return g_strdup_printf ("Local mail file %s", service->url->path);
+}
diff --git a/camel/providers/nntp/camel-nntp-store.c b/camel/providers/nntp/camel-nntp-store.c
index 765cd8796b..03ab14ccdb 100644
--- a/camel/providers/nntp/camel-nntp-store.c
+++ b/camel/providers/nntp/camel-nntp-store.c
@@ -58,7 +58,6 @@ static CamelServiceClass *service_class = NULL;
static gboolean nntp_connect (CamelService *service, CamelException *ex);
static gboolean nntp_disconnect (CamelService *service, CamelException *ex);
-
static CamelFolder *
nntp_store_get_folder (CamelStore *store, const gchar *folder_name,
gboolean get_folder, CamelException *ex)
@@ -96,15 +95,25 @@ nntp_store_get_folder_name (CamelStore *store, const char *folder_name,
return g_strdup (folder_name);
}
+static char *
+nntp_store_get_name (CamelService *service, gboolean brief)
+{
+ /* Same info for long and brief... */
+ return g_strdup_sprintf ("USENET news via %s", service->url->host);
+}
+
static void
camel_nntp_store_class_init (CamelNNTPStoreClass *camel_nntp_store_class)
{
CamelStoreClass *camel_store_class = CAMEL_STORE_CLASS (camel_nntp_store_class);
+ CamelServiceClass *camel_store_class = CAMEL_SERVICE_CLASS (camel_nntp_store_class);
service_class = gtk_type_class (camel_service_get_type ());
/* virtual method overload */
+ camel_service_class->get_name = nntp_store_get_name;
+
camel_store_class->get_folder = nntp_store_get_folder;
camel_store_class->get_folder_name = nntp_store_get_folder_name;
}
diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c
index 636172bb94..2dd6e99326 100644
--- a/camel/providers/pop3/camel-pop3-store.c
+++ b/camel/providers/pop3/camel-pop3-store.c
@@ -62,6 +62,7 @@ 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 void free_auth_types (CamelService *service, GList *authtypes);
+static char *get_name (CamelService *service, gboolean brief);
static CamelFolder *get_folder (CamelStore *store, const char *folder_name,
gboolean create, CamelException *ex);
@@ -89,6 +90,7 @@ camel_pop3_store_class_init (CamelPop3StoreClass *camel_pop3_store_class)
camel_service_class->disconnect = pop3_disconnect;
camel_service_class->query_auth_types = query_auth_types;
camel_service_class->free_auth_types = free_auth_types;
+ camel_service_class->get_name = get_name;
camel_store_class->get_folder = get_folder;
camel_store_class->get_folder_name = get_folder_name;
@@ -368,6 +370,19 @@ free_auth_types (CamelService *service, GList *authtypes)
g_list_free (authtypes);
}
+static char *
+get_name (CamelService *service, gboolean brief)
+{
+ if (brief)
+ return g_strdup_printf ("POP server %s", service->url->host);
+ else {
+ return g_strdup_printf ("POP service for %s on %s",
+ service->url->user,
+ service->url->host);
+ }
+}
+
+
/**
* camel_pop3_store_expunge:
* @store: the store
diff --git a/camel/providers/sendmail/camel-sendmail-transport.c b/camel/providers/sendmail/camel-sendmail-transport.c
index 3b84d5cb90..3facc42676 100644
--- a/camel/providers/sendmail/camel-sendmail-transport.c
+++ b/camel/providers/sendmail/camel-sendmail-transport.c
@@ -39,6 +39,8 @@
#include "camel-stream-fs.h"
#include "camel-exception.h"
+static char *get_name (CamelService *service, gboolean brief);
+
static gboolean _can_send (CamelTransport *transport, CamelMedium *message);
static gboolean _send (CamelTransport *transport, CamelMedium *message,
CamelException *ex);
@@ -51,8 +53,12 @@ camel_sendmail_transport_class_init (CamelSendmailTransportClass *camel_sendmail
{
CamelTransportClass *camel_transport_class =
CAMEL_TRANSPORT_CLASS (camel_sendmail_transport_class);
+ CamelServiceClass *camel_service_class =
+ CAMEL_SERVICE_CLASS (camel_sendmail_transport_class);
/* virtual method overload */
+ camel_service_class->get_name = get_name;
+
camel_transport_class->can_send = _can_send;
camel_transport_class->send = _send;
camel_transport_class->send_to = _send_to;
@@ -210,3 +216,12 @@ _send (CamelTransport *transport, CamelMedium *message,
return _send_internal (message, argv, ex);
}
+
+static char *
+get_name (CamelService *service, gboolean brief)
+{
+ if (brief)
+ return g_strdup ("sendmail");
+ else
+ return g_strdup ("Mail delivery via the sendmail program");
+}
diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c
index 68adf24178..6188015bc8 100644
--- a/camel/providers/smtp/camel-smtp-transport.c
+++ b/camel/providers/smtp/camel-smtp-transport.c
@@ -61,6 +61,7 @@ static gboolean smtp_disconnect (CamelService *service, CamelException *ex);
static GList *esmtp_get_authtypes(gchar *buffer);
static GList *query_auth_types (CamelService *service, CamelException *ex);
static void free_auth_types (CamelService *service, GList *authtypes);
+static char *get_name (CamelService *service, gboolean brief);
static gchar *smtp_get_email_addr_from_text (gchar *text);
static gboolean smtp_helo (CamelSmtpTransport *transport, CamelException *ex);
static gboolean smtp_mail (CamelSmtpTransport *transport, gchar *sender, CamelException *ex);
@@ -87,6 +88,7 @@ camel_smtp_transport_class_init (CamelSmtpTransportClass *camel_smtp_transport_c
camel_service_class->disconnect = smtp_disconnect;
camel_service_class->query_auth_types = query_auth_types;
camel_service_class->free_auth_types = free_auth_types;
+ camel_service_class->get_name = get_name;
camel_transport_class->can_send = _can_send;
camel_transport_class->send = _send;
@@ -306,6 +308,17 @@ free_auth_types (CamelService *service, GList *authtypes)
g_list_free (authtypes);
}
+static char *
+get_name (CamelService *service, gboolean brief)
+{
+ if (brief)
+ return g_strdup_printf ("SMTP server %s", service->url->host);
+ else {
+ return g_strdup_printf ("SMTP mail delivery via %s",
+ service->url->host);
+ }
+}
+
static gboolean
_can_send (CamelTransport *transport, CamelMedium *message)
{