[virt-tools-list] [PATCH virt-viewer 1/7] session: add virt_viewer_session_mime_type()
Christophe Fergeau
cfergeau at redhat.com
Tue Nov 27 09:00:54 UTC 2012
On Fri, Nov 23, 2012 at 01:41:06PM +0100, Marc-André Lureau wrote:
> ---
> src/virt-viewer-session-spice.c | 7 +++++++
> src/virt-viewer-session-vnc.c | 6 ++++++
> src/virt-viewer-session.c | 12 ++++++++++++
> src/virt-viewer-session.h | 2 ++
> 4 files changed, 27 insertions(+)
>
> diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c
> index b1686c5..3d48ba3 100644
> --- a/src/virt-viewer-session-spice.c
> +++ b/src/virt-viewer-session-spice.c
> @@ -123,6 +123,12 @@ virt_viewer_session_spice_dispose(GObject *obj)
> }
>
>
> +static const gchar*
> +virt_viewer_session_spice_mime_type(VirtViewerSession *self G_GNUC_UNUSED)
> +{
> + return "application/x-spice";
> +}
> +
> static void
> virt_viewer_session_spice_class_init(VirtViewerSessionSpiceClass *klass)
> {
> @@ -142,6 +148,7 @@ virt_viewer_session_spice_class_init(VirtViewerSessionSpiceClass *klass)
> 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;
> + dclass->mime_type = virt_viewer_session_spice_mime_type;
>
> g_type_class_add_private(klass, sizeof(VirtViewerSessionSpicePrivate));
>
> diff --git a/src/virt-viewer-session-vnc.c b/src/virt-viewer-session-vnc.c
> index 52baf5c..3245de3 100644
> --- a/src/virt-viewer-session-vnc.c
> +++ b/src/virt-viewer-session-vnc.c
> @@ -64,6 +64,11 @@ virt_viewer_session_vnc_finalize(GObject *obj)
> G_OBJECT_CLASS(virt_viewer_session_vnc_parent_class)->finalize(obj);
> }
>
> +static const gchar*
> +virt_viewer_session_vnc_mime_type(VirtViewerSession *self G_GNUC_UNUSED)
> +{
> + return "application/x-vnc";
> +}
>
> static void
> virt_viewer_session_vnc_class_init(VirtViewerSessionVncClass *klass)
> @@ -78,6 +83,7 @@ virt_viewer_session_vnc_class_init(VirtViewerSessionVncClass *klass)
> dclass->open_host = virt_viewer_session_vnc_open_host;
> dclass->open_uri = virt_viewer_session_vnc_open_uri;
> dclass->channel_open_fd = virt_viewer_session_vnc_channel_open_fd;
> + dclass->mime_type = virt_viewer_session_vnc_mime_type;
>
> g_type_class_add_private(klass, sizeof(VirtViewerSessionVncPrivate));
> }
> diff --git a/src/virt-viewer-session.c b/src/virt-viewer-session.c
> index a1d96c2..6205e30 100644
> --- a/src/virt-viewer-session.c
> +++ b/src/virt-viewer-session.c
> @@ -367,6 +367,18 @@ gboolean virt_viewer_session_open_uri(VirtViewerSession *session, const gchar *u
> return klass->open_uri(session, uri);
> }
>
> +const gchar* virt_viewer_session_mime_type(VirtViewerSession *self)
> +{
> + VirtViewerSessionClass *klass;
> +
> + g_return_val_if_fail(VIRT_VIEWER_IS_SESSION(self), NULL);
> +
> + klass = VIRT_VIEWER_SESSION_GET_CLASS(self);
> + g_return_val_if_fail(klass->mime_type != NULL, FALSE);
This should be NULL instead of FALSE. Looks good otherwise, ACK.
Christophe
> +
> + return klass->mime_type(self);
> +}
> +
> gboolean virt_viewer_session_channel_open_fd(VirtViewerSession *session,
> VirtViewerSessionChannel *channel, int fd)
> {
> diff --git a/src/virt-viewer-session.h b/src/virt-viewer-session.h
> index 38ed988..30def16 100644
> --- a/src/virt-viewer-session.h
> +++ b/src/virt-viewer-session.h
> @@ -73,6 +73,7 @@ struct _VirtViewerSessionClass {
> void (* usb_device_selection) (VirtViewerSession* session, GtkWindow *parent);
> void (* smartcard_insert) (VirtViewerSession* session);
> void (* smartcard_remove) (VirtViewerSession* session);
> + const gchar* (* mime_type) (VirtViewerSession* session);
>
> /* signals */
> void (*session_connected)(VirtViewerSession *session);
> @@ -98,6 +99,7 @@ struct _VirtViewerSessionClass {
> GType virt_viewer_session_get_type(void);
>
> GtkWidget *virt_viewer_session_new(void);
> +const gchar* virt_viewer_session_mime_type(VirtViewerSession *session);
>
> void virt_viewer_session_add_display(VirtViewerSession *session,
> VirtViewerDisplay *display);
> --
> 1.7.11.7
>
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20121127/f350c7f5/attachment.sig>
More information about the virt-tools-list
mailing list