void nm_bluez5_manager_query_devices (NMBluez5Manager *self) { NMBluez5ManagerPrivate *priv = NM_BLUEZ5_MANAGER_GET_PRIVATE (self); NMBluezDevice *device; GHashTableIter iter; g_hash_table_iter_init (&iter, priv->devices); while (g_hash_table_iter_next (&iter, NULL, (gpointer) &device)) { if (nm_bluez_device_get_usable (device)) emit_bdaddr_added (self, device); } }
void nm_bluez4_manager_query_devices (NMBluez4Manager *self) { NMBluez4ManagerPrivate *priv = NM_BLUEZ4_MANAGER_GET_PRIVATE (self); GSList *devices, *iter; if (!priv->adapter) return; devices = nm_bluez4_adapter_get_devices (priv->adapter); for (iter = devices; iter; iter = g_slist_next (iter)) emit_bdaddr_added (self, NM_BLUEZ_DEVICE (iter->data)); g_slist_free (devices); }
static void device_usable (NMBluezDevice *device, GParamSpec *pspec, NMBluez5Manager *self) { gboolean usable = nm_bluez_device_get_usable (device); nm_log_dbg (LOGD_BT, "(%s): bluez device now %s", nm_bluez_device_get_path (device), usable ? "usable" : "unusable"); if (usable) { nm_log_dbg (LOGD_BT, "(%s): bluez device address %s", nm_bluez_device_get_path (device), nm_bluez_device_get_address (device)); emit_bdaddr_added (self, device); } else g_signal_emit_by_name (device, NM_BLUEZ_DEVICE_REMOVED); }
static void adapter_initialized (NMBluez4Adapter *adapter, gboolean success, gpointer user_data) { NMBluez4Manager *self = NM_BLUEZ4_MANAGER (user_data); NMBluez4ManagerPrivate *priv = NM_BLUEZ4_MANAGER_GET_PRIVATE (self); if (success) { GSList *devices, *iter; devices = nm_bluez4_adapter_get_devices (adapter); for (iter = devices; iter; iter = g_slist_next (iter)) emit_bdaddr_added (self, NM_BLUEZ_DEVICE (iter->data)); g_slist_free (devices); g_signal_connect (adapter, "device-added", G_CALLBACK (device_added), self); g_signal_connect (adapter, "device-removed", G_CALLBACK (device_removed), self); } else { g_object_unref (priv->adapter); priv->adapter = NULL; } }
static void device_added (NMBluez4Adapter *adapter, NMBluezDevice *device, gpointer user_data) { emit_bdaddr_added (NM_BLUEZ4_MANAGER (user_data), device); }