接口
GioNetworkMonitor
自:2.32
描述 [src]
interface Gio.NetworkMonitor : Gio.Initable
GNetworkMonitor
为用于监控网络连接的跨平台 API 提供简单的使用方式。在 Linux 上,可用的实现基于内核的 netlink 接口和 NetworkManager。
此外,还提供在 Flatpak 沙盒内使用的实现。
自 2.32 起提供
先决条件
为了实现 NetworkMonitor,你的类型必须继承自 GInitable
。
实例方法
g_network_monitor_get_connectivity
获取比 g_network_monitor_get_network_available() 更详细的网络状态。
自 2.44 起提供
g_network_monitor_get_network_available
检查网络是否可用。“可用”在此指系统对 IPv4 或 IPv6 中至少一个设有可用的默认路由。这并不一定意味着可以访问公共 Internet。更多详细信息,请参阅 GNetworkMonitor:network-available
。
自:2.32
g_network_monitor_get_network_metered
检查网络是否按流量计费。更多详细信息,请参阅 GNetworkMonitor:network-metered
。
自 2.46 起提供
属性
Gio.NetworkMonitor:connectivity
有关主机网络连接的更详细信息。更多详细信息,请参阅 g_network_monitor_get_connectivity()
和 GNetworkConnectivity
。
自 2.44 起提供
接口结构
struct GioNetworkMonitorInterface {
GTypeInterface g_iface;
void (* network_changed) (
GNetworkMonitor* monitor,
gboolean network_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
);
}
GNetworkMonitor
的虚拟函数表。
接口成员
g_iface |
|
父接口。 |
|
network_changed |
|
GNetworkMonitor::network-changed 信号的虚拟函数指针。 |
|
can_reach |
|
g_network_monitor_can_reach() 的虚拟函数指针。 |
|
can_reach_async |
|
g_network_monitor_can_reach_async() 的虚拟函数指针。 |
|
can_reach_finish |
|
g_network_monitor_can_reach_finish() 的虚拟函数指针。 |