[Spice-devel] [PATCH 4/5] UsbDeviceManager: expose spice_usb_device_manager_driver_uninstall_async

Christophe Fergeau cfergeau at redhat.com
Fri Jul 3 05:59:33 PDT 2015


On Thu, Jul 02, 2015 at 04:41:34PM +0300, Kirill Moizik wrote:
> encapsulate preparations for win_usb_driver_uninstall in function to
> prevent further code duplication

"Move existing code doing XXX in a separate function in preparation for
the next commit" ?

ACK with an improved commit log.

> 
> Signed-off-by: Kirill Moizik <kmoizik at redhat.com>
> ---
>  src/usb-device-manager.c | 58 +++++++++++++++++++++++++++---------------------
>  1 file changed, 33 insertions(+), 25 deletions(-)
> 
> diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c
> index 2fde03a..db4944f 100644
> --- a/src/usb-device-manager.c
> +++ b/src/usb-device-manager.c
> @@ -1203,6 +1203,37 @@ static void spice_usb_device_manager_drv_uninstall_cb(GObject *gobject,
>  
>  #endif
>  
> +#if defined(USE_USBREDIR) && defined(G_OS_WIN32)
> +void  spice_usb_device_manager_driver_uninstall_async(SpiceUsbDeviceManager *self,
> +                                                      SpiceUsbDevice *device)
> +{
> +
> +    SpiceWinUsbDriver *installer;
> +    UsbInstallCbInfo *cbinfo;
> +    guint8 state;
> +
> +    g_warn_if_fail(device != NULL);
> +    g_return_if_fail(self->priv->installer);
> +
> +    state = spice_usb_device_get_state(device);
> +    if ((state != SPICE_USB_DEVICE_STATE_INSTALLED) &&
> +        (state != SPICE_USB_DEVICE_STATE_CONNECTED)) {
> +        return;
> +    }
> +
> +    spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_UNINSTALLING);
> +
> +    installer = self->priv->installer;
> +    cbinfo = g_new0(UsbInstallCbInfo, 1);
> +    cbinfo->manager     = self;
> +    cbinfo->device      = spice_usb_device_ref(device);
> +    cbinfo->installer   = installer;
> +    spice_win_usb_driver_uninstall_async (installer, device, NULL,
> +                                          spice_usb_device_manager_drv_uninstall_cb,
> +                                          cbinfo);
> +}
> +#endif
> +
>  /* ------------------------------------------------------------------ */
>  /* private api                                                        */
>  
> @@ -1590,31 +1621,8 @@ void spice_usb_device_manager_disconnect_device(SpiceUsbDeviceManager *self,
>          spice_usbredir_channel_disconnect_device(channel);
>  
>  #ifdef G_OS_WIN32
> -   if (self->priv->use_usbclerk) {
> -        SpiceWinUsbDriver *installer;
> -        UsbInstallCbInfo *cbinfo;
> -        guint8 state;
> -
> -        g_warn_if_fail(device != NULL);
> -        g_return_if_fail(self->priv->installer);
> -
> -        state = spice_usb_device_get_state(device);
> -        if ((state != SPICE_USB_DEVICE_STATE_INSTALLED) &&
> -           (state != SPICE_USB_DEVICE_STATE_CONNECTED)) {
> -           return;
> -        }
> -
> -        spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_UNINSTALLING);
> -
> -        installer = self->priv->installer;
> -        cbinfo = g_new0(UsbInstallCbInfo, 1);
> -        cbinfo->manager     = self;
> -        cbinfo->device      = spice_usb_device_ref(device);
> -        cbinfo->installer   = installer;
> -
> -        spice_win_usb_driver_uninstall_async (installer, device, NULL,
> -                                       spice_usb_device_manager_drv_uninstall_cb,
> -                                       cbinfo);
> +    if (self->priv->use_usbclerk) {
> +        spice_usb_device_manager_driver_uninstall_async(self,device);
>      }
>  #endif
>  
> -- 
> 2.1.0
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150703/bd04d344/attachment.sig>


More information about the Spice-devel mailing list