Add a request_certificate virtual method to GTlsInteraction

This allows GTlsConnection implementations to request a certificate
from the user.

Fix ups by Dan Winship <danw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=637257
This commit is contained in:
Stef Walter
2012-11-28 22:01:21 +01:00
parent 1fba61981a
commit 65af7c47ff
6 changed files with 868 additions and 102 deletions

View File

@@ -69,9 +69,26 @@ struct _GTlsInteractionClass
GAsyncResult *result,
GError **error);
GTlsInteractionResult (* request_certificate) (GTlsInteraction *interaction,
GTlsConnection *connection,
GTlsCertificateRequestFlags flags,
GCancellable *cancellable,
GError **error);
void (* request_certificate_async) (GTlsInteraction *interaction,
GTlsConnection *connection,
GTlsCertificateRequestFlags flags,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
GTlsInteractionResult (* request_certificate_finish) (GTlsInteraction *interaction,
GAsyncResult *result,
GError **error);
/*< private >*/
/* Padding for future expansion */
gpointer padding[24];
gpointer padding[21];
};
GLIB_AVAILABLE_IN_ALL
@@ -83,7 +100,6 @@ GTlsInteractionResult g_tls_interaction_invoke_ask_password (GTlsInteraction
GCancellable *cancellable,
GError **error);
GLIB_AVAILABLE_IN_ALL
GTlsInteractionResult g_tls_interaction_ask_password (GTlsInteraction *interaction,
GTlsPassword *password,
@@ -102,6 +118,33 @@ GTlsInteractionResult g_tls_interaction_ask_password_finish (GTlsInteraction
GAsyncResult *result,
GError **error);
GLIB_AVAILABLE_IN_2_40
GTlsInteractionResult g_tls_interaction_invoke_request_certificate (GTlsInteraction *interaction,
GTlsConnection *connection,
GTlsCertificateRequestFlags flags,
GCancellable *cancellable,
GError **error);
GLIB_AVAILABLE_IN_2_40
GTlsInteractionResult g_tls_interaction_request_certificate (GTlsInteraction *interaction,
GTlsConnection *connection,
GTlsCertificateRequestFlags flags,
GCancellable *cancellable,
GError **error);
GLIB_AVAILABLE_IN_2_40
void g_tls_interaction_request_certificate_async (GTlsInteraction *interaction,
GTlsConnection *connection,
GTlsCertificateRequestFlags flags,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
GLIB_AVAILABLE_IN_2_40
GTlsInteractionResult g_tls_interaction_request_certificate_finish (GTlsInteraction *interaction,
GAsyncResult *result,
GError **error);
G_END_DECLS
#endif /* __G_TLS_INTERACTION_H__ */