From 98753e92d2b6bb52978c2ac9d38d29b8d2372978 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Sat, 1 Jul 2000 23:07:18 +0000 Subject: 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 --- camel/camel-service.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'camel/camel-service.c') diff --git a/camel/camel-service.c b/camel/camel-service.c index 1efcafcfe8..ec2e4d3712 100644 --- a/camel/camel-service.c +++ b/camel/camel-service.c @@ -41,6 +41,7 @@ static gboolean service_disconnect(CamelService *service, CamelException *ex); static gboolean is_connected (CamelService *service); 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 void finalize (GtkObject *object); static gboolean check_url (CamelService *service, CamelException *ex); @@ -60,6 +61,7 @@ camel_service_class_init (CamelServiceClass *camel_service_class) camel_service_class->is_connected = is_connected; 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; /* virtual method overload */ gtk_object_class->finalize = finalize; @@ -262,6 +264,36 @@ camel_service_get_url (CamelService *service) } +static char * +get_name (CamelService *service, gboolean brief) +{ + g_warning ("CamelService::get_name not implemented for `%s'", + gtk_type_name (GTK_OBJECT_TYPE (service))); + return "???"; +} + +/** + * camel_service_get_name: + * @service: the service + * @brief: whether or not to use a briefer form + * + * This gets the name of the service in a "friendly" (suitable for + * humans) form. If @brief is %TRUE, this should be a brief description + * such as for use in the folder tree. If @brief is %FALSE, it should + * be a more complete and mostly unambiguous description. + * + * Return value: the description, which the caller must free. + **/ +char * +camel_service_get_name (CamelService *service, gboolean brief) +{ + g_return_val_if_fail (CAMEL_IS_SERVICE (service), NULL); + g_return_val_if_fail (service->url, NULL); + + return CSERV_CLASS (service)->get_name (service, brief); +} + + /** * camel_service_get_session: * @service: a service @@ -329,7 +361,6 @@ camel_service_free_auth_types (CamelService *service, GList *authtypes) } - /* URL utility routines */ /** -- cgit v1.2.3