Basics
Guides
API Reference
Basics
Guides
API Reference
[26:7] extends: object
GTlsInteraction provides a mechanism for the TLS connection and database
code to interact with the user. It can be used to ask the user for passwords.
To use a GTlsInteraction with a TLS connection use
[method@Gio.TlsConnection.set_interaction]. Callers should instantiate a
derived class that implements the various interaction methods to show the
required dialogs. Callers should use the 'invoke' functions like
[method@Gio.TlsInteraction.invoke_ask_password] to run interaction methods.
These functions make sure that the interaction is invoked in the main loop
and not in the current thread, if the current thread is not running the main
loop. Derived classes can choose to implement whichever interactions methods
they’d like to support by overriding those virtual methods in their class
initialization function. Any interactions not implemented will return
G_TLS_INTERACTION_UNHANDLED. If a derived class implements an async method,
it must also implement the corresponding finish method.
TlsInteraction (Handle = null)
Creates a new
TlsInteractionby wrapping a native handle or another wrapper.
Handle is the native handle or another wrapper whose handle to adopt.toNativeHandle (Source)
Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from
fn.call(...), another generated wrapper exposinghandle(), or null. Returns null when the argument carries no pointer.
Source is the raw handle, raw buffer, wrapper, or null.A raw pointer carrier or null when no pointer is present.getLib ()
Returns the opened native library for this generated wrapper.
The opened native library.handle ()
Returns the wrapped NativeHandle.
The wrapped NativeHandle.isNull ()
Returns true when the wrapped handle is null.
A bool.describe ()
Returns a small string for debugging generated wrappers.
A string.asObject ()
Wraps this handle as
Object.
A Object object.ask_password (object password, object cancellable)
Run synchronous interaction to ask the user for a password. In general, g_tls_interaction_invoke_ask_password() should be used instead of this function. Derived subclasses usually implement a password prompt, although they may also choose to provide a password from elsewhere. The
value will be filled in and then @callback will be called. Alternatively the user may abort this password request, which will usually abort the TLS connection. If the interaction is cancelled by the cancellation object, or by the user then %G_TLS_INTERACTION_FAILED will be returned with an error that contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may not support immediate cancellation.password is a #GTlsPassword object.cancellable is an optional #GCancellable cancellation object.ask_password_finish (object result)
Complete an ask password user interaction request. This should be once the g_tls_interaction_ask_password_async() completion callback is called. If %G_TLS_INTERACTION_HANDLED is returned, then the #GTlsPassword passed to g_tls_interaction_ask_password() will have its password filled in. If the interaction is cancelled by the cancellation object, or by the user then %G_TLS_INTERACTION_FAILED will be returned with an error that contains a %G_IO_ERROR_CANCELLED error code.
result is the result passed to the callback.invoke_ask_password (object password, object cancellable)
Invoke the interaction to ask the user for a password. It invokes this interaction in the main loop, specifically the #GMainContext returned by g_main_context_get_thread_default() when the interaction is created. This is called by called by #GTlsConnection or #GTlsDatabase to ask the user for a password. Derived subclasses usually implement a password prompt, although they may also choose to provide a password from elsewhere. The
value will be filled in and then @callback will be called. Alternatively the user may abort this password request, which will usually abort the TLS connection. The implementation can either be a synchronous (eg: modal dialog) or an asynchronous one (eg: modeless dialog). This function will take care of calling which ever one correctly. If the interaction is cancelled by the cancellation object, or by the user then %G_TLS_INTERACTION_FAILED will be returned with an error that contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may not support immediate cancellation.password is a #GTlsPassword object.cancellable is an optional #GCancellable cancellation object.invoke_request_certificate (object connection, string flags, object cancellable)
Invoke the interaction to ask the user to choose a certificate to use with the connection. It invokes this interaction in the main loop, specifically the #GMainContext returned by g_main_context_get_thread_default() when the interaction is created. This is called by called by #GTlsConnection when the peer requests a certificate during the handshake. Derived subclasses usually implement a certificate selector, although they may also choose to provide a certificate from elsewhere. Alternatively the user may abort this certificate request, which may or may not abort the TLS connection. The implementation can either be a synchronous (eg: modal dialog) or an asynchronous one (eg: modeless dialog). This function will take care of calling which ever one correctly. If the interaction is cancelled by the cancellation object, or by the user then %G_TLS_INTERACTION_FAILED will be returned with an error that contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may not support immediate cancellation.
connection is a #GTlsConnection object.flags is flags providing more information about the request.cancellable is an optional #GCancellable cancellation object.request_certificate (object connection, string flags, object cancellable)
Run synchronous interaction to ask the user to choose a certificate to use with the connection. In general, g_tls_interaction_invoke_request_certificate() should be used instead of this function. Derived subclasses usually implement a certificate selector, although they may also choose to provide a certificate from elsewhere. Alternatively the user may abort this certificate request, which will usually abort the TLS connection. If %G_TLS_INTERACTION_HANDLED is returned, then the #GTlsConnection passed to g_tls_interaction_request_certificate() will have had its #GTlsConnection:certificate filled in. If the interaction is cancelled by the cancellation object, or by the user then %G_TLS_INTERACTION_FAILED will be returned with an error that contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may not support immediate cancellation.
connection is a #GTlsConnection object.flags is flags providing more information about the request.cancellable is an optional #GCancellable cancellation object.request_certificate_finish (object result)
Complete a request certificate user interaction request. This should be once the g_tls_interaction_request_certificate_async() completion callback is called. If %G_TLS_INTERACTION_HANDLED is returned, then the #GTlsConnection passed to g_tls_interaction_request_certificate_async() will have had its #GTlsConnection:certificate filled in. If the interaction is cancelled by the cancellation object, or by the user then %G_TLS_INTERACTION_FAILED will be returned with an error that contains a %G_IO_ERROR_CANCELLED error code.
result is the result passed to the callback.
Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.