ack On Mon, Jul 9, 2012 at 2:15 PM, Uri Lublin <uril@xxxxxxxxxx> wrote: > To be used on Win32 to ignore extra udev events > received during driver install/uninstall. > --- > gtk/usb-device-manager.c | 37 +++++++++++++++++++++++++++++++++++++ > 1 files changed, 37 insertions(+), 0 deletions(-) > > diff --git a/gtk/usb-device-manager.c b/gtk/usb-device-manager.c > index 7733682..306b22b 100644 > --- a/gtk/usb-device-manager.c > +++ b/gtk/usb-device-manager.c > @@ -110,6 +110,16 @@ struct _SpiceUsbDeviceManagerPrivate { > GPtrArray *channels; > }; > > +enum { > + SPICE_USB_DEVICE_STATE_NONE = 0, /* this is also DISCONNECTED */ > + SPICE_USB_DEVICE_STATE_CONNECTING, > + SPICE_USB_DEVICE_STATE_CONNECTED, > + SPICE_USB_DEVICE_STATE_DISCONNECTING, > + SPICE_USB_DEVICE_STATE_INSTALLING, > + SPICE_USB_DEVICE_STATE_UNINSTALLING, > + SPICE_USB_DEVICE_STATE_MAX > +}; > + > #ifdef USE_USBREDIR > > typedef struct _SpiceUsbDeviceInfo { > @@ -117,6 +127,8 @@ typedef struct _SpiceUsbDeviceInfo { > guint8 devaddr; > guint16 vid; > guint16 pid; > + guint8 state; > + guint8 reserved; > gint ref; > } SpiceUsbDeviceInfo; > > @@ -136,6 +148,11 @@ static SpiceUsbDeviceInfo *spice_usb_device_new(libusb_device *libdev); > static SpiceUsbDevice *spice_usb_device_ref(SpiceUsbDevice *device); > static void spice_usb_device_unref(SpiceUsbDevice *device); > > +#ifdef G_OS_WIN32 > +static guint8 spice_usb_device_get_state(SpiceUsbDevice *device); > +static void spice_usb_device_set_state(SpiceUsbDevice *device, guint8 s); > +#endif > + > static gboolean spice_usb_device_equal_libdev(SpiceUsbDevice *device, > libusb_device *libdev); > static SpiceUsbDevice * > @@ -1364,6 +1381,26 @@ guint16 spice_usb_device_get_pid(SpiceUsbDevice *device) > return info->pid; > } > > +#ifdef G_OS_WIN32 > +void spice_usb_device_set_state(SpiceUsbDevice *device, guint8 state) > +{ > + SpiceUsbDeviceInfo *info = (SpiceUsbDeviceInfo *)device; > + > + g_return_if_fail(info != NULL); > + > + info->state = state; > +} > + > +guint8 spice_usb_device_get_state(SpiceUsbDevice *device) > +{ > + SpiceUsbDeviceInfo *info = (SpiceUsbDeviceInfo *)device; > + > + g_return_val_if_fail(info != NULL, 0); > + > + return info->state; > +} > +#endif > + > static SpiceUsbDevice *spice_usb_device_ref(SpiceUsbDevice *device) > { > SpiceUsbDeviceInfo *info = (SpiceUsbDeviceInfo *)device; > -- > 1.7.1 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel -- Marc-André Lureau _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel