aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-service.h
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-service.h')
-rw-r--r--camel/camel-service.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/camel/camel-service.h b/camel/camel-service.h
index 5e81e6a80e..d09524c8c4 100644
--- a/camel/camel-service.h
+++ b/camel/camel-service.h
@@ -70,16 +70,25 @@ typedef struct {
gboolean (*is_connected) (CamelService *service);
+ GList * (*query_auth_types) (CamelService *service);
+
} CamelServiceClass;
/* flags for url_flags. (others can be added if needed) */
#define CAMEL_SERVICE_URL_NEED_USER (1 << 1)
+#define CAMEL_SERVICE_URL_NEED_AUTH (1 << 2)
#define CAMEL_SERVICE_URL_NEED_HOST (1 << 4)
#define CAMEL_SERVICE_URL_NEED_PATH (1 << 6)
+/* query_auth_types returns a GList of these */
+typedef struct {
+ char *name, *description, *authproto;
+ gboolean need_password;
+} CamelServiceAuthType;
+
/* public methods */
CamelService * camel_service_new (GtkType type,
@@ -99,6 +108,8 @@ gboolean camel_service_is_connected (CamelService *service);
char * camel_service_get_url (CamelService *service);
CamelSession * camel_service_get_session (CamelService *service);
+GList * camel_service_query_auth_types (CamelService *service);
+
/* Standard Gtk function */
GtkType camel_service_get_type (void);