NetworkMonitor

#GNetworkMonitor provides an easy-to-use cross-platform API for monitoring network connectivity. On Linux, the available implementations are based on the kernel's netlink interface and on NetworkManager.

There is also an implementation for use inside Flatpak sandboxes.

Since

2.32

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

More detailed information about the host's network connectivity. See g_network_monitor_get_connectivity() and #GNetworkConnectivity for more details.

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

Whether the network is considered available. That is, whether the system has a default route for at least one of IPv4 or IPv6.

Link copied to clipboard

Whether the network is considered metered. That is, whether the system has traffic flowing through the default connection that is subject to limitations set by service providers. For example, traffic might be billed by the amount of data transmitted, or there might be a quota on the amount of traffic per month. This is typical with tethered connections (3G and 4G) and in such situations, bandwidth intensive applications may wish to avoid network activity where possible if it will cost the user money or use up their limited quota.

Functions

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

Attempts to determine whether or not the host pointed to by

Link copied to clipboard
open fun canReachAsync(connectable: SocketConnectable, cancellable: Cancellable? = null, callback: AsyncReadyCallback)

Asynchronously attempts to determine whether or not the host pointed to by @connectable can be reached, without actually trying to connect to it.

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

Finishes an async network connectivity test. See g_network_monitor_can_reach_async().

Link copied to clipboard
open fun connectNetworkChanged(connectFlags: <Error class: unknown class> = ConnectFlags(0u), handler: (networkAvailable: Boolean) -> Unit): <Error class: unknown class>

Emitted when the network configuration changes.

Link copied to clipboard

Gets a more detailed networking state than g_network_monitor_get_network_available().

Link copied to clipboard

Checks if the network is available. "Available" here means that the system has a default route available for at least one of IPv4 or IPv6. It does not necessarily imply that the public Internet is reachable. See #GNetworkMonitor:network-available for more details.

Link copied to clipboard

Checks if the network is metered. See #GNetworkMonitor:network-metered for more details.

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

Initializes the object implementing the interface.