[Spice-devel] [spice-gtk Win32 v4 15/17] usb-device-manager: mingw: keep driver install/uninstall state of a device

Uri Lublin uril at redhat.com
Thu Jul 5 13:44:07 PDT 2012


Currently only driver install/unsinstall is of interest, such that
extra udev events can be ignored.
---
 gtk/usb-device-manager.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/gtk/usb-device-manager.c b/gtk/usb-device-manager.c
index 1821c58..e032f24 100644
--- a/gtk/usb-device-manager.c
+++ b/gtk/usb-device-manager.c
@@ -815,6 +815,9 @@ static void spice_usb_device_manager_drv_install_cb(GObject *gobject,

     g_object_unref(installer);

+    /* for only UN/INSTALL is of interest */
+    spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_NONE);
+
     if (err) {
         g_warning("win usb driver %s failed -- %s", opstr, err->message);
         g_error_free(err);
@@ -1093,6 +1096,7 @@ void spice_usb_device_manager_connect_device_async(SpiceUsbDeviceManager *self,
     SpiceWinUsbDriver *installer;
     UsbInstallCbInfo *cbinfo;

+    spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_INSTALLING);
     installer = spice_win_usb_driver_new();
     cbinfo = g_new0(UsbInstallCbInfo, 1);
     cbinfo->manager     = self;
@@ -1158,6 +1162,7 @@ void spice_usb_device_manager_disconnect_device(SpiceUsbDeviceManager *self,

     g_warn_if_fail(device != NULL);

+    spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_UNINSTALLING);
     installer = spice_win_usb_driver_new();
     cbinfo = g_new0(UsbInstallCbInfo, 1);
     cbinfo->manager     = self;
-- 
1.7.7.6



More information about the Spice-devel mailing list