A few suggestions below On Thu, 2015-09-24 at 15:10 +0200, Pavel Grunt wrote: > --- > src/channel-inputs.h | 8 ++++++++ > src/channel-main.c | 2 ++ > src/channel-playback.c | 2 ++ > src/smartcard-manager.h | 21 ++++++++++++++++++++ > src/spice-channel.c | 8 ++++---- > src/spice-channel.h | 13 ++++++++++++ > src/spice-client.c | 7 +++++++ > src/spice-client.h | 5 +++++ > src/spice-grabsequence.c | 6 ++++++ > src/spice-grabsequence.h | 5 +++++ > src/spice-gtk-session.h | 11 +++++++++++ > src/spice-option.c | 2 ++ > src/spice-session.c | 4 ++++ > src/spice-session.h | 13 ++++++++++++ > src/spice-uri.h | 12 ++++++++++++ > src/spice-util.c | 2 ++ > src/spice-widget.c | 10 ++++++++-- > src/spice-widget.h | 21 ++++++++++++++++++++ > src/usb-device-manager.c | 51 +++++++++++++++++++++++++++++++++++++++--------- > src/usb-device-manager.h | 7 ++++++- > src/usb-device-widget.c | 2 ++ > 21 files changed, 196 insertions(+), 16 deletions(-) > > diff --git a/src/channel-inputs.h b/src/channel-inputs.h > index 3179a76..8933116 100644 > --- a/src/channel-inputs.h > +++ b/src/channel-inputs.h > @@ -33,6 +33,14 @@ typedef struct _SpiceInputsChannel SpiceInputsChannel; > typedef struct _SpiceInputsChannelClass SpiceInputsChannelClass; > typedef struct _SpiceInputsChannelPrivate SpiceInputsChannelPrivate; > > +/** > + * SpiceInputsLock: > + * @SPICE_INPUTS_SCROLL_LOCK: Scroll Lock > + * @SPICE_INPUTS_NUM_LOCK: Num Lock > + * @SPICE_INPUTS_CAPS_LOCK: Caps Lock > + * > + * Constants used to synchronize modifiers between a client and a guest. > + **/ > typedef enum { > SPICE_INPUTS_SCROLL_LOCK = (1 << 0), > SPICE_INPUTS_NUM_LOCK = (1 << 1), > diff --git a/src/channel-main.c b/src/channel-main.c > index 85e01e4..59a6e5e 100644 > --- a/src/channel-main.c > +++ b/src/channel-main.c > @@ -661,6 +661,8 @@ static void spice_main_channel_class_init(SpiceMainChannelClass *klass) > * @data: clipboard data > * @size: size of @data in bytes > * > + * Informs that selection data are available. maybe "clipboard selection data"? > + * > * Since: 0.6 > **/ > signals[SPICE_MAIN_CLIPBOARD_SELECTION] = > diff --git a/src/channel-playback.c b/src/channel-playback.c > index ddcb757..020f809 100644 > --- a/src/channel-playback.c > +++ b/src/channel-playback.c > @@ -453,6 +453,8 @@ static void channel_set_handlers(SpiceChannelClass *klass) > * spice_playback_channel_set_delay: > * @channel: a #SpicePlaybackChannel > * @delay_ms: the delay in ms > + * > + * Adjust the multimedia time according to the delay. > **/ > void spice_playback_channel_set_delay(SpicePlaybackChannel *channel, guint32 delay_ms) > { > diff --git a/src/smartcard-manager.h b/src/smartcard-manager.h > index 4811083..2a7fd48 100644 > --- a/src/smartcard-manager.h > +++ b/src/smartcard-manager.h > @@ -35,8 +35,19 @@ G_BEGIN_DECLS > typedef struct _SpiceSmartcardManager SpiceSmartcardManager; > typedef struct _SpiceSmartcardManagerClass SpiceSmartcardManagerClass; > typedef struct _SpiceSmartcardManagerPrivate SpiceSmartcardManagerPrivate; > + > +/** > + * SpiceSmartcardReader: > + * > + * The #SpiceSmartcardReader struct is opaque and cannot be accessed directly. > + */ > typedef struct _SpiceSmartcardReader SpiceSmartcardReader; > > +/** > + * SpiceSmartcardManager: > + * > + * The #SpiceSmartcardManager struct is opaque and should not be accessed directly. > + */ > struct _SpiceSmartcardManager > { > GObject parent; > @@ -46,6 +57,16 @@ struct _SpiceSmartcardManager > /* Do not add fields to this struct */ > }; > > +/** > + * SpiceSmartcardManagerClass: > + * @parent_class: Parent class. > + * @reader_added: Signal class handler for the #SpiceSmartcardManager::reader_added signal. > + * @reader_removed: Signal class handler for the #SpiceSmartcardManager::reader_removed signal. > + * @card_inserted: Signal class handler for the #SpiceSmartcardManager::card_inserted signal. > + * @card_removed: Signal class handler for the #SpiceSmartcardManager::card_removed signal. > + * > + * Class structure for #SpiceSmartcardManager. > + */ > struct _SpiceSmartcardManagerClass > { > GObjectClass parent_class; > diff --git a/src/spice-channel.c b/src/spice-channel.c > index ce0923f..2ce52c7 100644 > --- a/src/spice-channel.c > +++ b/src/spice-channel.c > @@ -283,7 +283,7 @@ static void spice_channel_class_init(SpiceChannelClass *klass) > (gobject_class, PROP_SESSION, > g_param_spec_object("spice-session", > "Spice session", > - "", > + "Spice session", > SPICE_TYPE_SESSION, > G_PARAM_READWRITE | > G_PARAM_CONSTRUCT_ONLY | > @@ -293,7 +293,7 @@ static void spice_channel_class_init(SpiceChannelClass *klass) > (gobject_class, PROP_CHANNEL_TYPE, > g_param_spec_int("channel-type", > "Channel type", > - "", > + "Channel type", > -1, INT_MAX, -1, > G_PARAM_READWRITE | > G_PARAM_CONSTRUCT_ONLY | > @@ -303,7 +303,7 @@ static void spice_channel_class_init(SpiceChannelClass *klass) > (gobject_class, PROP_CHANNEL_ID, > g_param_spec_int("channel-id", > "Channel ID", > - "", > + "Channel ID", > -1, INT_MAX, -1, > G_PARAM_READWRITE | > G_PARAM_CONSTRUCT_ONLY | > @@ -313,7 +313,7 @@ static void spice_channel_class_init(SpiceChannelClass *klass) > (gobject_class, PROP_TOTAL_READ_BYTES, > g_param_spec_ulong("total-read-bytes", > "Total read bytes", > - "", > + "Total read bytes", > 0, G_MAXULONG, 0, > G_PARAM_READABLE | > G_PARAM_STATIC_STRINGS)); > diff --git a/src/spice-channel.h b/src/spice-channel.h > index 6f8682e..f465572 100644 > --- a/src/spice-channel.h > +++ b/src/spice-channel.h > @@ -62,6 +62,11 @@ typedef enum > SPICE_CHANNEL_ERROR_IO, > } SpiceChannelEvent; > > +/** > + * SpiceChannel: > + * > + * The #SpiceChannel struct is opaque and should not be accessed directly. > + */ > struct _SpiceChannel > { > GObject parent; > @@ -71,6 +76,14 @@ struct _SpiceChannel > > typedef struct _SpiceChannelClassPrivate SpiceChannelClassPrivate; > > +/** > + * SpiceChannelClass: > + * @parent_class: Parent class. > + * @channel_event: Signal class handler for the #SpiceChannel::channel_event signal. > + * @open_fd: Signal class handler for the #SpiceChannel::open_fd signal. > + * > + * Class structure for #SpiceChannel. > + */ > struct _SpiceChannelClass > { > GObjectClass parent_class; > diff --git a/src/spice-client.c b/src/spice-client.c > index 5fd511f..9f6412c 100644 > --- a/src/spice-client.c > +++ b/src/spice-client.c > @@ -21,6 +21,13 @@ > > #include "spice-client.h" > > +/** > + * spice_client_error_quark: > + * > + * Gets a #GQuark representing the string "spice-client-error-quark" > + * > + * Returns: the #GQuark representing the string. > + **/ > GQuark spice_client_error_quark(void) > { > return g_quark_from_static_string("spice-client-error-quark"); > diff --git a/src/spice-client.h b/src/spice-client.h > index e4e1763..5a4d838 100644 > --- a/src/spice-client.h > +++ b/src/spice-client.h > @@ -51,6 +51,11 @@ > > G_BEGIN_DECLS > > +/** > + * SPICE_CLIENT_ERROR: > + * > + * Error domain for spice client errors. > + */ > #define SPICE_CLIENT_ERROR spice_client_error_quark() > > /** > diff --git a/src/spice-grabsequence.c b/src/spice-grabsequence.c > index ac97e88..96d936a 100644 > --- a/src/spice-grabsequence.c > +++ b/src/spice-grabsequence.c > @@ -69,6 +69,8 @@ SpiceGrabSequence *spice_grab_sequence_new(guint nkeysyms, guint *keysyms) > * spice_grab_sequence_new_from_string: > * @str: a string of '+' seperated key names (ex: "Control_L+Alt_L") > * > + * Creates a new #SpiceGrabSequence from the string representation. > + * > * Returns: a new #SpiceGrabSequence. > **/ > SpiceGrabSequence *spice_grab_sequence_new_from_string(const gchar *str) > @@ -104,6 +106,8 @@ SpiceGrabSequence *spice_grab_sequence_new_from_string(const gchar *str) > * spice_grab_sequence_copy: > * @sequence: sequence to copy > * > + * Creates a copy of the @sequence. > + * > * Returns: (transfer full): a copy of @sequence > **/ > SpiceGrabSequence *spice_grab_sequence_copy(SpiceGrabSequence *srcSequence) > @@ -136,6 +140,8 @@ void spice_grab_sequence_free(SpiceGrabSequence *sequence) > * spice_grab_sequence_as_string: > * @sequence: a #SpiceGrabSequence > * > + * Creates a string representing the @sequence. > + * > * Returns: (transfer full): a newly allocated string representing the key sequence > **/ > gchar *spice_grab_sequence_as_string(SpiceGrabSequence *sequence) > diff --git a/src/spice-grabsequence.h b/src/spice-grabsequence.h > index fe58fc1..af227b0 100644 > --- a/src/spice-grabsequence.h > +++ b/src/spice-grabsequence.h > @@ -31,6 +31,11 @@ G_BEGIN_DECLS > > typedef struct _SpiceGrabSequence SpiceGrabSequence; > > +/** > + * SpiceGrabSequence: > + * > + * The #SpiceGrabSequence struct is opaque and should not be accessed directly. > + */ > struct _SpiceGrabSequence { > /*< private >*/ > guint nkeysyms; > diff --git a/src/spice-gtk-session.h b/src/spice-gtk-session.h > index 3b4eac6..a69c174 100644 > --- a/src/spice-gtk-session.h > +++ b/src/spice-gtk-session.h > @@ -33,6 +33,11 @@ typedef struct _SpiceGtkSession SpiceGtkSession; > typedef struct _SpiceGtkSessionClass SpiceGtkSessionClass; > typedef struct _SpiceGtkSessionPrivate SpiceGtkSessionPrivate; > > +/** > + * SpiceGtkSession: > + * > + * The #SpiceGtkSession struct is opaque and should not be accessed directly. > + */ > struct _SpiceGtkSession > { > GObject parent; > @@ -40,6 +45,12 @@ struct _SpiceGtkSession > /* Do not add fields to this struct */ > }; > > +/** > + * SpiceGtkSessionClass: > + * @parent_class: Parent class. > + * > + * Class structure for #SpiceGtkSession. > + */ > struct _SpiceGtkSessionClass > { > GObjectClass parent_class; > diff --git a/src/spice-option.c b/src/spice-option.c > index 71e29a1..06b9b19 100644 > --- a/src/spice-option.c > +++ b/src/spice-option.c > @@ -181,6 +181,8 @@ static gboolean parse_preferred_compression(const gchar *option_name, const gcha > /** > * spice_get_option_group: (skip) > * > + * Gets commandline options. > + * > * Returns: (transfer full): a #GOptionGroup for the commandline > * arguments specific to Spice. You have to call > * spice_set_session_option() after to set the options on a > diff --git a/src/spice-session.c b/src/spice-session.c > index 1626539..680b2e4 100644 > --- a/src/spice-session.c > +++ b/src/spice-session.c > @@ -1899,6 +1899,8 @@ void spice_session_migrate_end(SpiceSession *self) > * spice_session_get_read_only: > * @session: a #SpiceSession > * > + * Checks whether the @session is read-only. > + * > * Returns: wether the @session is in read-only mode. > **/ > gboolean spice_session_get_read_only(SpiceSession *self) > @@ -2606,6 +2608,8 @@ void spice_session_set_shared_dir(SpiceSession *session, const gchar *dir) > * spice_session_get_proxy_uri: > * @session: a #SpiceSession > * > + * Gets the @session proxy uri. > + * > * Returns: (transfer none): the session proxy #SpiceURI or %NULL. > * Since: 0.24 > **/ > diff --git a/src/spice-session.h b/src/spice-session.h > index 750af29..56f6959 100644 > --- a/src/spice-session.h > +++ b/src/spice-session.h > @@ -63,6 +63,11 @@ typedef enum { > SPICE_SESSION_MIGRATION_CONNECTING, > } SpiceSessionMigration; > > +/** > + * SpiceSession: > + * > + * The #SpiceSession struct is opaque and should not be accessed directly. > + */ > struct _SpiceSession > { > GObject parent; > @@ -70,6 +75,14 @@ struct _SpiceSession > /* Do not add fields to this struct */ > }; > > +/** > + * SpiceSessionClass: > + * @parent_class: Parent class. > + * @channel_new: Signal class handler for the #SpiceSession::channel_new signal. > + * @channel_destroy: Signal class handler for the #SpiceSession::channel_destroy signal. > + * > + * Class structure for #SpiceSession. > + */ > struct _SpiceSessionClass > { > GObjectClass parent_class; > diff --git a/src/spice-uri.h b/src/spice-uri.h > index 9e8d590..65ffd0a 100644 > --- a/src/spice-uri.h > +++ b/src/spice-uri.h > @@ -29,7 +29,19 @@ G_BEGIN_DECLS > #define SPICE_IS_URI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPICE_TYPE_URI)) > #define SPICE_URI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPICE_TYPE_URI, SpiceURIClass)) > > +/** > + * SpiceURI: > + * > + * The #SpiceURI struct is opaque and cannot be accessed directly. > + */ > typedef struct _SpiceURI SpiceURI; > + > +/** > + * SpiceURIClass: > + * > + * The #SpiceURIClass struct is opaque and cannot be accessed directly. > + * It is class structure for #SpiceURI. > + */ > typedef struct _SpiceURIClass SpiceURIClass; > typedef struct _SpiceURIPrivate SpiceURIPrivate; > > diff --git a/src/spice-util.c b/src/spice-util.c > index bec237b..b4bc085 100644 > --- a/src/spice-util.c > +++ b/src/spice-util.c > @@ -99,6 +99,8 @@ gboolean spice_util_get_debug(void) > /** > * spice_util_get_version_string: > * > + * Gets the version string > + * > * Returns: Spice-GTK version as a const string. > **/ > const gchar *spice_util_get_version_string(void) > diff --git a/src/spice-widget.c b/src/spice-widget.c > index a7ff438..50c2a2e 100644 > --- a/src/spice-widget.c > +++ b/src/spice-widget.c > @@ -704,6 +704,8 @@ static LRESULT CALLBACK keyboard_hook_cb(int code, WPARAM wparam, LPARAM lparam) > * spice_display_get_grab_keys: > * @display: the display widget > * > + * Finds the current grab key combination for the @display > + * > * Returns: (transfer none): the current grab key combination. > **/ > SpiceGrabSequence *spice_display_get_grab_keys(SpiceDisplay *display) > @@ -2535,12 +2537,14 @@ static void channel_destroy(SpiceSession *s, SpiceChannel *channel, gpointer dat > * @session: a #SpiceSession > * @channel_id: the display channel ID to associate with #SpiceDisplay > * > + * Creates a new #SpiceDisplay widget. > + * > * Returns: a new #SpiceDisplay widget. > **/ > -SpiceDisplay *spice_display_new(SpiceSession *session, int id) > +SpiceDisplay *spice_display_new(SpiceSession *session, int channel_id) > { > return g_object_new(SPICE_TYPE_DISPLAY, "session", session, > - "channel-id", id, NULL); > + "channel-id", channel_id, NULL); This seems like an unrelated change. Maybe put it in a different commit? > } > > /** > @@ -2549,6 +2553,8 @@ SpiceDisplay *spice_display_new(SpiceSession *session, int id) > * @channel_id: the display channel ID to associate with #SpiceDisplay > * @monitor_id: the monitor id within the display channel > * > + * Creates a new #SpiceDisplay widget associated with the monitor id. > + * > * Since: 0.13 > * Returns: a new #SpiceDisplay widget. > **/ > diff --git a/src/spice-widget.h b/src/spice-widget.h > index d239ed2..64e3f84 100644 > --- a/src/spice-widget.h > +++ b/src/spice-widget.h > @@ -40,12 +40,25 @@ typedef struct _SpiceDisplay SpiceDisplay; > typedef struct _SpiceDisplayClass SpiceDisplayClass; > typedef struct _SpiceDisplayPrivate SpiceDisplayPrivate; > > +/** > + * SpiceDisplay: > + * > + * The #SpiceDisplay struct is opaque and should not be accessed directly. > + */ > struct _SpiceDisplay { > GtkDrawingArea parent; > SpiceDisplayPrivate *priv; > /* Do not add fields to this struct */ > }; > > +/** > + * SpiceDisplayClass: > + * @parent_class: Parent class. > + * @mouse_grab: Signal class handler for the #SpiceDisplay::mouse_grab signal. > + * @keyboard_grab: Signal class handler for the #SpiceDisplay::keyboard_grab signal. > + * > + * Class structure for #SpiceDisplay. > + */ > struct _SpiceDisplayClass { > GtkDrawingAreaClass parent_class; > > @@ -61,6 +74,14 @@ struct _SpiceDisplayClass { > gchar _spice_reserved[SPICE_RESERVED_PADDING]; > }; > > +/** > + * SpiceDisplayKeyEvent: > + * @SPICE_DISPLAY_KEY_EVENT_PRESS: key press > + * @SPICE_DISPLAY_KEY_EVENT_RELEASE: key release > + * @SPICE_DISPLAY_KEY_EVENT_CLICK: key click Perhaps "key click (press and release)"? > + * > + * Constants for key events. > + */ > typedef enum > { > SPICE_DISPLAY_KEY_EVENT_PRESS = 1, > diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c > index 9792217..8941276 100644 > --- a/src/usb-device-manager.c > +++ b/src/usb-device-manager.c > @@ -692,6 +692,8 @@ static gboolean spice_usb_device_manager_get_device_descriptor( > * spice_usb_device_get_libusb_device: > * @device: #SpiceUsbDevice to get the descriptor information of > * > + * Finds the %libusb_device associated with the @device. > + * > * Returns: (transfer none): the %libusb_device associated to %SpiceUsbDevice. > * > * Since: 0.27 > @@ -1306,6 +1308,8 @@ static SpiceUsbredirChannel *spice_usb_device_manager_get_channel_for_dev( > * see #SpiceUsbDeviceManager:auto-connect-filter for the f ilter > * string format > * > + * Finds devices associated with the @manager complying with the @filter > + * > * Returns: (element-type SpiceUsbDevice) (transfer full): a > * %GPtrArray array of %SpiceUsbDevice > * > @@ -1363,6 +1367,8 @@ GPtrArray* spice_usb_device_manager_get_devices_with_filter( > * spice_usb_device_manager_get_devices: > * @manager: the #SpiceUsbDeviceManager manager > * > + * Finds devices associated with the @manager > + * > * Returns: (element-type SpiceUsbDevice) (transfer full): a %GPtrArray array of %SpiceUsbDevice > */ > GPtrArray* spice_usb_device_manager_get_devices(SpiceUsbDeviceManager *self) > @@ -1375,6 +1381,8 @@ GPtrArray* spice_usb_device_manager_get_devices(SpiceUsbDeviceManager *self) > * @manager: the #SpiceUsbDeviceManager manager > * @device: a #SpiceUsbDevice > * > + * Finds if the @device is connected. > + * > * Returns: %TRUE if @device has an associated USB redirection channel > */ > gboolean spice_usb_device_manager_is_device_connected(SpiceUsbDeviceManager *self, > @@ -1386,14 +1394,6 @@ gboolean spice_usb_device_manager_is_device_connected(SpiceUsbDeviceManager *sel > return !!spice_usb_device_manager_get_channel_for_dev(self, device); > } > > -/** > - * spice_usb_device_manager_connect_device_async: > - * @manager: the #SpiceUsbDeviceManager manager > - * @device: a #SpiceUsbDevice to redirect > - * @cancellable: a #GCancellable or NULL > - * @callback: a #GAsyncReadyCallback to call when the request is satisfied > - * @user_data: data to pass to callback > - */ > static void > _spice_usb_device_manager_connect_device_async(SpiceUsbDeviceManager *self, > SpiceUsbDevice *device, > @@ -1469,7 +1469,18 @@ done: > g_object_unref(result); > } > > - > +/** > + * spice_usb_device_manager_connect_device_async: > + * @self: a #SpiceUsbDeviceManager. > + * @device: a #SpiceUsbDevice to redirect > + * @cancellable: (allow-none): optional #GCancellable object, %NULL to ignore > + * @callback: a #GAsyncReadyCallback to call when the request is satisfied > + * @user_data: the data to pass to callback function > + * > + * Asynchronously connects the @device. When completed, @callback will be called. > + * Then it is possible to call spice_usb_device_manager_connect_device_finish() > + * to get the result of the operation. > + */ > void spice_usb_device_manager_connect_device_async(SpiceUsbDeviceManager *self, > SpiceUsbDevice *device, > GCancellable *cancellable, > @@ -1506,6 +1517,16 @@ void spice_usb_device_manager_connect_device_async(SpiceUsbDeviceManager *self, > #endif > } > > +/** > + * spice_usb_device_manager_connect_device_finish: > + * @self: a #SpiceUsbDeviceManager. > + * @res: a #GAsyncResult > + * @err: (allow-none): a return location for a #GError, or %NULL. > + * > + * Finishes an async operation. See spice_usb_device_manager_connect_device_async(). > + * > + * Returns: %TRUE if connection is successful > + */ > gboolean spice_usb_device_manager_connect_device_finish( > SpiceUsbDeviceManager *self, GAsyncResult *res, GError **err) > { > @@ -1526,6 +1547,8 @@ gboolean spice_usb_device_manager_connect_device_finish( > * @manager: the #SpiceUsbDeviceManager manager > * @device: a #SpiceUsbDevice to disconnect > * > + * Disconnects the @device. > + * > * Returns: %TRUE if @device has an associated USB redirection channel > */ > void spice_usb_device_manager_disconnect_device(SpiceUsbDeviceManager *self, > @@ -1573,6 +1596,16 @@ void spice_usb_device_manager_disconnect_device(SpiceUsbDeviceManager *self, > #endif > } > > +/** > + * spice_usb_device_manager_can_redirect_device: > + * @self: the #SpiceUsbDeviceManager manager > + * @device: a #SpiceUsbDevice to disconnect > + * @err: (allow-none): a return location for a #GError, or %NULL. > + * > + * Checks whether it is possible to redirected the @device. "redirect" > + * > + * Returns: %TRUE if @device can be redirected > + */ > gboolean > spice_usb_device_manager_can_redirect_device(SpiceUsbDeviceManager *self, > SpiceUsbDevice *device, > diff --git a/src/usb-device-manager.h b/src/usb-device-manager.h > index 8b173bb..c1e3f76 100644 > --- a/src/usb-device-manager.h > +++ b/src/usb-device-manager.h > @@ -39,6 +39,11 @@ typedef struct _SpiceUsbDeviceManager SpiceUsbDeviceManager; > typedef struct _SpiceUsbDeviceManagerClass SpiceUsbDeviceManagerClass; > typedef struct _SpiceUsbDeviceManagerPrivate SpiceUsbDeviceManagerPrivate; > > +/** > + * SpiceUsbDevice: > + * > + * The #SpiceUsbDevice struct is opaque and cannot be accessed directly. > + */ > typedef struct _SpiceUsbDevice SpiceUsbDevice; > > /** > @@ -102,7 +107,7 @@ GPtrArray* spice_usb_device_manager_get_devices_with_filter( > gboolean spice_usb_device_manager_is_device_connected(SpiceUsbDeviceManager *manager, > SpiceUsbDevice *device); > void spice_usb_device_manager_connect_device_async( > - SpiceUsbDeviceManager *manager, > + SpiceUsbDeviceManager *self, > SpiceUsbDevice *device, > GCancellable *cancellable, > GAsyncReadyCallback callback, > diff --git a/src/usb-device-widget.c b/src/usb-device-widget.c > index 1ec30e3..84435b2 100644 > --- a/src/usb-device-widget.c > +++ b/src/usb-device-widget.c > @@ -334,6 +334,8 @@ static void spice_usb_device_widget_init(SpiceUsbDeviceWidget *self) > * @device_format_string: (allow-none): String passed to > * spice_usb_device_get_description() > * > + * Creates a new widget to control USB redirection. > + * > * Returns: a new #SpiceUsbDeviceWidget instance > */ > GtkWidget *spice_usb_device_widget_new(SpiceSession *session, _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel