| GIO Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <gio/gio.h>
GNetworkMonitor;
struct GNetworkMonitorInterface;
#define G_NETWORK_MONITOR_EXTENSION_POINT_NAME
GNetworkMonitor * g_network_monitor_get_default (void);
gboolean g_network_monitor_get_network_available
(GNetworkMonitor *monitor);
gboolean g_network_monitor_can_reach (GNetworkMonitor *monitor,
GSocketConnectable *connectable,
GCancellable *cancellable,
GError **error);
void g_network_monitor_can_reach_async (GNetworkMonitor *monitor,
GSocketConnectable *connectable,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean g_network_monitor_can_reach_finish (GNetworkMonitor *monitor,
GAsyncResult *result,
GError **error);
typedef struct _GNetworkMonitor GNetworkMonitor;
GNetworkMonitor monitors the status of network connections and indicates when a possibly-user-visible change has occurred.
Since 2.32
struct GNetworkMonitorInterface {
GTypeInterface g_iface;
void (*network_changed) (GNetworkMonitor *monitor,
gboolean available);
gboolean (*can_reach) (GNetworkMonitor *monitor,
GSocketConnectable *connectable,
GCancellable *cancellable,
GError **error);
void (*can_reach_async) (GNetworkMonitor *monitor,
GSocketConnectable *connectable,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (*can_reach_finish) (GNetworkMonitor *monitor,
GAsyncResult *result,
GError **error);
};
#define G_NETWORK_MONITOR_EXTENSION_POINT_NAME "gio-network-monitor"
Extension point for network status monitoring functionality. See Extending GIO.
Since 2.30
GNetworkMonitor * g_network_monitor_get_default (void);
Gets the default GNetworkMonitor for the system.
Returns : |
a GNetworkMonitor. [transfer none] |
Since 2.32
gboolean g_network_monitor_get_network_available
(GNetworkMonitor *monitor);
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 "network-available" for more details.
|
the GNetworkMonitor |
Returns : |
whether the network is available |
Since 2.32
gboolean g_network_monitor_can_reach (GNetworkMonitor *monitor,GSocketConnectable *connectable,GCancellable *cancellable,GError **error);
Attempts to determine whether or not the host pointed to by
connectable can be reached, without actually trying to connect to
it.
This may return TRUE even when "network-available"
is FALSE, if, for example, monitor can determine that
connectable refers to a host on a local network.
If monitor believes that an attempt to connect to connectable
will succeed, it will return TRUE. Otherwise, it will return
FALSE and set error to an appropriate error (such as
G_IO_ERROR_HOST_UNREACHABLE).
Note that although this does not attempt to connect to
connectable, it may still block for a brief period of time (eg,
trying to do multicast DNS on the local network), so if you do not
want to block, you should use g_network_monitor_can_reach_async().
|
a GNetworkMonitor |
|
a GSocketConnectable |
|
a GCancellable, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
TRUE if connectable is reachable, FALSE if not. |
Since 2.32
void g_network_monitor_can_reach_async (GNetworkMonitor *monitor,GSocketConnectable *connectable,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
gboolean g_network_monitor_can_reach_finish (GNetworkMonitor *monitor,GAsyncResult *result,GError **error);