mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/virt-viewer
synced 2026-01-09 05:37:17 +00:00
spice: implement smartcard-{insert,remove} virtual methods
This commit is contained in:
parent
6c916253ee
commit
8f1785ca62
@ -45,6 +45,7 @@ static void virt_viewer_display_spice_send_keys(VirtViewerDisplay *display,
|
||||
const guint *keyvals,
|
||||
int nkeyvals);
|
||||
static GdkPixbuf *virt_viewer_display_spice_get_pixbuf(VirtViewerDisplay *display);
|
||||
static void virt_viewer_display_spice_release_cursor(VirtViewerDisplay *display);
|
||||
|
||||
static void
|
||||
virt_viewer_display_spice_finalize(GObject *obj)
|
||||
@ -67,6 +68,7 @@ virt_viewer_display_spice_class_init(VirtViewerDisplaySpiceClass *klass)
|
||||
|
||||
dclass->send_keys = virt_viewer_display_spice_send_keys;
|
||||
dclass->get_pixbuf = virt_viewer_display_spice_get_pixbuf;
|
||||
dclass->release_cursor = virt_viewer_display_spice_release_cursor;
|
||||
|
||||
g_type_class_add_private(klass, sizeof(VirtViewerDisplaySpicePrivate));
|
||||
}
|
||||
@ -228,6 +230,15 @@ virt_viewer_display_spice_new(VirtViewerSessionSpice *session,
|
||||
return GTK_WIDGET(self);
|
||||
}
|
||||
|
||||
static void
|
||||
virt_viewer_display_spice_release_cursor(VirtViewerDisplay *display)
|
||||
{
|
||||
VirtViewerDisplaySpice *self = VIRT_VIEWER_DISPLAY_SPICE(display);
|
||||
|
||||
spice_display_mouse_ungrab(self->priv->display);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* c-indent-level: 4
|
||||
|
||||
@ -71,7 +71,8 @@ static void virt_viewer_session_spice_channel_new(SpiceSession *s,
|
||||
static void virt_viewer_session_spice_channel_destroy(SpiceSession *s,
|
||||
SpiceChannel *channel,
|
||||
VirtViewerSession *session);
|
||||
|
||||
static void virt_viewer_session_spice_smartcard_insert(VirtViewerSession *session);
|
||||
static void virt_viewer_session_spice_smartcard_remove(VirtViewerSession *session);
|
||||
|
||||
static void
|
||||
virt_viewer_session_spice_get_property(GObject *object, guint property_id,
|
||||
@ -136,6 +137,8 @@ virt_viewer_session_spice_class_init(VirtViewerSessionSpiceClass *klass)
|
||||
dclass->channel_open_fd = virt_viewer_session_spice_channel_open_fd;
|
||||
dclass->has_usb = virt_viewer_session_spice_has_usb;
|
||||
dclass->usb_device_selection = virt_viewer_session_spice_usb_device_selection;
|
||||
dclass->smartcard_insert = virt_viewer_session_spice_smartcard_insert;
|
||||
dclass->smartcard_remove = virt_viewer_session_spice_smartcard_remove;
|
||||
|
||||
g_type_class_add_private(klass, sizeof(VirtViewerSessionSpicePrivate));
|
||||
|
||||
@ -348,8 +351,7 @@ virt_viewer_session_spice_usb_device_selection(VirtViewerSession *session,
|
||||
GtkWidget *dialog, *area, *usb_device_widget;
|
||||
|
||||
/* Create the widgets */
|
||||
dialog = gtk_dialog_new_with_buttons(
|
||||
_("Select USB devices for redirection"), parent,
|
||||
dialog = gtk_dialog_new_with_buttons(_("Select USB devices for redirection"), parent,
|
||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
|
||||
NULL);
|
||||
@ -475,6 +477,18 @@ virt_viewer_session_spice_get_main_channel(VirtViewerSessionSpice *self)
|
||||
return self->priv->main_channel;
|
||||
}
|
||||
|
||||
static void
|
||||
virt_viewer_session_spice_smartcard_insert(VirtViewerSession *session G_GNUC_UNUSED)
|
||||
{
|
||||
spice_smartcard_manager_insert_card(spice_smartcard_manager_get());
|
||||
}
|
||||
|
||||
static void
|
||||
virt_viewer_session_spice_smartcard_remove(VirtViewerSession *session G_GNUC_UNUSED)
|
||||
{
|
||||
spice_smartcard_manager_remove_card(spice_smartcard_manager_get());
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* c-indent-level: 4
|
||||
|
||||
Loading…
Reference in New Issue
Block a user