DebugController

GDebugController is an interface to expose control of debugging features and debug output.

It is implemented on Linux using class@Gio.DebugControllerDBus, which exposes a D-Bus interface to allow authenticated peers to control debug features in this process.

Whether debug output is enabled is exposed as property@Gio.DebugController:debug-enabled. This controls func@GLib.log_set_debug_enabled by default. Application code may connect to the signal@GObject.Object::notify signal for it to control other parts of its debug infrastructure as necessary.

If your application or service is using the default GLib log writer function, creating one of the built-in implementations of GDebugController should be all that’s needed to dynamically enable or disable debug output.

Since

2.72

Inheritors

Types

Link copied to clipboard
object Companion
Link copied to clipboard
class DebugControllerImpl(gioDebugControllerPointer: <Error class: unknown class><<Error class: unknown class>>) : DebugController

The DebugControllerImpl type represents a native instance of the DebugController interface.

Properties

Link copied to clipboard

true if debug output should be exposed (for example by forwarding it to the journal), false otherwise.

Link copied to clipboard
abstract val gioDebugControllerPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val gioInitablePointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
abstract val gioProxyPointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
open fun connect(connection: IoStream, proxyAddress: ProxyAddress, cancellable: Cancellable? = null): <Error class: unknown class><IoStream>

Given @connection to communicate with a proxy (eg, a #GSocketConnection that is connected to the proxy server), this does the necessary handshake to connect to @proxy_address, and if required, wraps the #GIOStream to handle proxy payload.

Link copied to clipboard
open fun connectAsync(connection: IoStream, proxyAddress: ProxyAddress, cancellable: Cancellable? = null, callback: AsyncReadyCallback?)

Asynchronous version of g_proxy_connect().

Link copied to clipboard
open fun connectFinish(result: AsyncResult): <Error class: unknown class><IoStream>

See g_proxy_connect().

Link copied to clipboard

Get the value of #GDebugController:debug-enabled.

Link copied to clipboard
open fun init(cancellable: Cancellable? = null): <Error class: unknown class><Boolean>

Initializes the object implementing the interface.

Link copied to clipboard
open fun setDebugEnabled(debugEnabled: Boolean)

Set the value of #GDebugController:debug-enabled.

Link copied to clipboard

Some proxy protocols expect to be passed a hostname, which they will resolve to an IP address themselves. Others, like SOCKS4, do not allow this. This function will return false if @proxy is implementing such a protocol. When false is returned, the caller should resolve the destination hostname first, and then pass a #GProxyAddress containing the stringified IP address to g_proxy_connect() or g_proxy_connect_async().