gboolean nm_is_online () { GDBusProxy *proxy = g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, NULL, NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, NULL, NULL); if (!proxy) return FALSE; NMState state = dbus_check_nm_status (proxy); g_object_unref(proxy); if (state == NM_STATE_CONNECTED_LOCAL || state == NM_STATE_CONNECTED_SITE || state == NM_STATE_CONNECTED_GLOBAL) return TRUE; return FALSE; }
gboolean nm_is_online () { DBusConnection *connection; DBusError error; NMState state; dbus_error_init (&error); connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error); if (connection == NULL) { g_critical("Error connecting to DBUS_BUS_SYSTEM to get nm status: %s", error.message); dbus_error_free (&error); return FALSE; } state = dbus_check_nm_status (connection); dbus_connection_unref(connection); if (state == NM_STATE_CONNECTED_LOCAL || state == NM_STATE_CONNECTED_SITE || state == NM_STATE_CONNECTED_GLOBAL) return TRUE; return FALSE; }