aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-session.h
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-session.h')
-rw-r--r--camel/camel-session.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/camel/camel-session.h b/camel/camel-session.h
index e6a6b2ffc2..c669a4b223 100644
--- a/camel/camel-session.h
+++ b/camel/camel-session.h
@@ -43,7 +43,12 @@ extern "C" {
#define CAMEL_IS_SESSION(o) (GTK_CHECK_TYPE((o), CAMEL_SESSION_TYPE))
-typedef char *(*CamelAuthCallback) (char *prompt, gboolean secret,
+typedef enum {
+ CAMEL_AUTHENTICATOR_ASK, CAMEL_AUTHENTICATOR_TELL
+} CamelAuthCallbackMode;
+
+typedef char *(*CamelAuthCallback) (CamelAuthCallbackMode mode,
+ char *data, gboolean secret,
CamelService *service, char *item,
CamelException *ex);
@@ -88,12 +93,13 @@ CamelService * camel_session_get_service (CamelSession *session,
((CamelTransport *) camel_session_get_service (session, url_string, CAMEL_PROVIDER_TRANSPORT, ex))
-char * camel_session_query_authenticator (CamelSession *session,
- char *prompt,
- gboolean secret,
- CamelService *service,
- char *item,
- CamelException *ex);
+char * camel_session_query_authenticator (CamelSession *session,
+ CamelAuthCallbackMode mode,
+ char *prompt,
+ gboolean secret,
+ CamelService *service,
+ char *item,
+ CamelException *ex);
#ifdef __cplusplus
}