gboolean fu_plugin_usb_device_added (FuPlugin *plugin, FuUsbDevice *device, GError **error) { g_autoptr(FuWacDevice) dev = NULL; g_autoptr(FuDeviceLocker) locker = NULL; dev = fu_wac_device_new (device); locker = fu_device_locker_new (dev, error); if (locker == NULL) return FALSE; fu_plugin_device_add (plugin, FU_DEVICE (dev)); return TRUE; }
gboolean fu_plugin_usb_device_added (FuPlugin *plugin, FuUsbDevice *device, GError **error) { g_autoptr(FuDeviceLocker) locker = NULL; g_autoptr(FuRts54HubDevice) dev = NULL; /* open the device */ dev = fu_rts54hub_device_new (device); locker = fu_device_locker_new (dev, error); if (locker == NULL) return FALSE; /* success */ fu_plugin_device_add (plugin, FU_DEVICE (dev)); return TRUE; }
gboolean fu_plugin_usb_device_added (FuPlugin *plugin, GUsbDevice *usb_device, GError **error) { g_autoptr(FuDeviceLocker) locker = NULL; g_autoptr(FuNitrokeyDevice) device = NULL; /* open the device */ device = fu_nitrokey_device_new (usb_device); locker = fu_device_locker_new (device, error); if (locker == NULL) return FALSE; /* success */ fu_plugin_device_add (plugin, FU_DEVICE (device)); return TRUE; }
static gboolean fu_plugin_dell_dock_create_node (FuPlugin *plugin, FuDevice *device, GError **error) { g_autoptr(FuDeviceLocker) locker = NULL; fu_device_set_quirks (device, fu_plugin_get_quirks (plugin)); locker = fu_device_locker_new (device, error); if (locker == NULL) return FALSE; fu_plugin_device_add (plugin, device); return TRUE; }
gboolean fu_plugin_usb_device_added (FuPlugin *plugin, FuUsbDevice *device, GError **error) { g_autoptr(FuDeviceLocker) locker = NULL; g_autoptr(FuColorhugDevice) dev = NULL; /* open the device */ dev = fu_colorhug_device_new (device); locker = fu_device_locker_new (dev, error); if (locker == NULL) return FALSE; /* insert to hash */ fu_plugin_device_add (plugin, FU_DEVICE (dev)); return TRUE; }
gboolean fu_plugin_usb_device_added (FuPlugin *plugin, FuUsbDevice *device, GError **error) { g_autoptr(FuDeviceLocker) locker = NULL; g_autoptr(FuDellDockHub) hub = fu_dell_dock_hub_new (device); FuDevice *fu_device = FU_DEVICE (hub); const gchar *key = NULL; locker = fu_device_locker_new (fu_device, error); if (locker == NULL) return FALSE; fu_plugin_device_add (plugin, fu_device); if (fu_device_has_custom_flag (fu_device, "has-bridge")) { g_autoptr(GError) error_local = NULL; /* only add the device with parent to cache */ key = fu_device_get_id (fu_device); if (fu_plugin_cache_lookup (plugin, key) != NULL) { g_debug ("Ignoring already added device %s", key); return TRUE; } fu_plugin_cache_add (plugin, key, fu_device); /* probe for extended devices */ if (!fu_plugin_dell_dock_probe (plugin, fu_device, &error_local)) { g_warning ("Failed to probe bridged devices for %s: %s", key, error_local->message); } } /* clear updatable flag if parent doesn't have it */ fu_dell_dock_clone_updatable (fu_device); return TRUE; }