gtk: make SpiceUsbDeviceWidget private

Do not leak internals of SpiceUsbDeviceWidget in public headers. This makes also
the class final, which let us extend more easily without fear of breaking ABI.

Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
This commit is contained in:
Marc-André Lureau 2016-02-16 20:59:35 +01:00
parent 8d1da627fb
commit bc3d12efb2
2 changed files with 16 additions and 36 deletions

View File

@ -39,6 +39,22 @@
* add an UI to select USB devices to redirect (or unredirect).
*/
struct _SpiceUsbDeviceWidget
{
GtkVBox parent;
SpiceUsbDeviceWidgetPrivate *priv;
};
struct _SpiceUsbDeviceWidgetClass
{
GtkVBoxClass parent_class;
/* signals */
void (*connect_failed) (SpiceUsbDeviceWidget *widget,
SpiceUsbDevice *device, GError *error);
};
/* ------------------------------------------------------------------ */
/* Prototypes for callbacks */
static void device_added_cb(SpiceUsbDeviceManager *manager,

View File

@ -41,42 +41,6 @@ typedef struct _SpiceUsbDeviceWidget SpiceUsbDeviceWidget;
typedef struct _SpiceUsbDeviceWidgetClass SpiceUsbDeviceWidgetClass;
typedef struct _SpiceUsbDeviceWidgetPrivate SpiceUsbDeviceWidgetPrivate;
/**
* SpiceUsbDeviceWidget:
*
* The #SpiceUsbDeviceWidget struct is opaque and should not be accessed directly.
*/
struct _SpiceUsbDeviceWidget
{
GtkVBox parent;
/*< private >*/
SpiceUsbDeviceWidgetPrivate *priv;
/* Do not add fields to this struct */
};
/**
* SpiceUsbDeviceWidgetClass:
* @parent_class: Parent class.
* @connect_failed: Signal class handler for the #SpiceUsbDeviceWidget::connect-failed signal.
*
* Class structure for #SpiceUsbDeviceWidget.
*/
struct _SpiceUsbDeviceWidgetClass
{
GtkVBoxClass parent_class;
/* signals */
void (*connect_failed) (SpiceUsbDeviceWidget *widget,
SpiceUsbDevice *device, GError *error);
/*< private >*/
/*
* If adding fields to this struct, remove corresponding
* amount of padding to avoid changing overall struct size
*/
gchar _spice_reserved[SPICE_RESERVED_PADDING];
};
GType spice_usb_device_widget_get_type(void);
GtkWidget *spice_usb_device_widget_new(SpiceSession *session,
const gchar *device_format_string);