/* * Copyright (C) 2017 Richard Hughes * * SPDX-License-Identifier: LGPL-2.1+ */ #pragma once #include #ifdef HAVE_GUSB #include #else #ifndef __GI_SCANNER__ typedef GObject GUsbContext; typedef GObject GUsbDevice; #define G_USB_CHECK_VERSION(a, c, b) 0 #endif #endif #include "fu-plugin.h" #include "fu-udev-device.h" #define FU_TYPE_USB_DEVICE (fu_usb_device_get_type()) G_DECLARE_DERIVABLE_TYPE(FuUsbDevice, fu_usb_device, FU, USB_DEVICE, FuDevice) struct _FuUsbDeviceClass { FuDeviceClass parent_class; gpointer __reserved[31]; }; FuUsbDevice * fu_usb_device_new(GUsbDevice *usb_device); guint16 fu_usb_device_get_vid(FuUsbDevice *self); guint16 fu_usb_device_get_pid(FuUsbDevice *self); guint16 fu_usb_device_get_spec(FuUsbDevice *self); GUsbDevice * fu_usb_device_get_dev(FuUsbDevice *device); void fu_usb_device_set_dev(FuUsbDevice *device, GUsbDevice *usb_device); gboolean fu_usb_device_is_open(FuUsbDevice *device); GUdevDevice * fu_usb_device_find_udev_device(FuUsbDevice *device, GError **error) G_GNUC_WARN_UNUSED_RESULT;