mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/virt-viewer
synced 2026-01-24 16:51:37 +00:00
Add a few property getters, used by controller
- virt_viewer_app_get_windows() - virt_viewer_window_get_builder() - "VirtViewerSessionSpice:spice-session" property
This commit is contained in:
parent
67284efecf
commit
80a3192603
@ -1528,6 +1528,13 @@ virt_viewer_app_show_display(VirtViewerApp *self)
|
||||
g_hash_table_foreach(self->priv->windows, show_display_cb, self);
|
||||
}
|
||||
|
||||
GHashTable*
|
||||
virt_viewer_app_get_windows(VirtViewerApp *self)
|
||||
{
|
||||
g_return_val_if_fail(VIRT_VIEWER_IS_APP(self), NULL);
|
||||
return self->priv->windows;
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* c-indent-level: 8
|
||||
|
||||
@ -86,6 +86,7 @@ void virt_viewer_app_set_connect_info(VirtViewerApp *self,
|
||||
gboolean virt_viewer_app_window_set_visible(VirtViewerApp *self, VirtViewerWindow *window, gboolean visible);
|
||||
void virt_viewer_app_show_status(VirtViewerApp *self, const gchar *fmt, ...);
|
||||
void virt_viewer_app_show_display(VirtViewerApp *self);
|
||||
GHashTable* virt_viewer_app_get_windows(VirtViewerApp *self);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
@ -41,6 +41,12 @@ struct _VirtViewerSessionSpicePrivate {
|
||||
|
||||
#define VIRT_VIEWER_SESSION_SPICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), VIRT_VIEWER_TYPE_SESSION_SPICE, VirtViewerSessionSpicePrivate))
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_SPICE_SESSION,
|
||||
};
|
||||
|
||||
|
||||
static void virt_viewer_session_spice_close(VirtViewerSession *session);
|
||||
static gboolean virt_viewer_session_spice_open_fd(VirtViewerSession *session, int fd);
|
||||
static gboolean virt_viewer_session_spice_open_host(VirtViewerSession *session, char *host, char *port);
|
||||
@ -55,7 +61,33 @@ static void virt_viewer_session_spice_channel_destroy(SpiceSession *s,
|
||||
|
||||
|
||||
static void
|
||||
virt_viewer_session_spice_finalize(GObject *obj)
|
||||
virt_viewer_session_spice_get_property(GObject *object, guint property_id,
|
||||
GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
VirtViewerSessionSpice *self = VIRT_VIEWER_SESSION_SPICE(object);
|
||||
VirtViewerSessionSpicePrivate *priv = self->priv;
|
||||
|
||||
switch (property_id) {
|
||||
case PROP_SPICE_SESSION:
|
||||
g_value_set_object(value, priv->session);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
virt_viewer_session_spice_set_property(GObject *object, guint property_id,
|
||||
const GValue *value G_GNUC_UNUSED, GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
virt_viewer_session_spice_dispose(GObject *obj)
|
||||
{
|
||||
VirtViewerSessionSpice *spice = VIRT_VIEWER_SESSION_SPICE(obj);
|
||||
|
||||
@ -76,7 +108,9 @@ virt_viewer_session_spice_class_init(VirtViewerSessionSpiceClass *klass)
|
||||
VirtViewerSessionClass *dclass = VIRT_VIEWER_SESSION_CLASS(klass);
|
||||
GObjectClass *oclass = G_OBJECT_CLASS(klass);
|
||||
|
||||
oclass->finalize = virt_viewer_session_spice_finalize;
|
||||
oclass->get_property = virt_viewer_session_spice_get_property;
|
||||
oclass->set_property = virt_viewer_session_spice_set_property;
|
||||
oclass->dispose = virt_viewer_session_spice_dispose;
|
||||
|
||||
dclass->close = virt_viewer_session_spice_close;
|
||||
dclass->open_fd = virt_viewer_session_spice_open_fd;
|
||||
@ -85,6 +119,15 @@ virt_viewer_session_spice_class_init(VirtViewerSessionSpiceClass *klass)
|
||||
dclass->channel_open_fd = virt_viewer_session_spice_channel_open_fd;
|
||||
|
||||
g_type_class_add_private(oclass, sizeof(VirtViewerSessionSpicePrivate));
|
||||
|
||||
g_object_class_install_property(oclass,
|
||||
PROP_SPICE_SESSION,
|
||||
g_param_spec_object("spice-session",
|
||||
"Spice session",
|
||||
"Spice session",
|
||||
SPICE_TYPE_SESSION,
|
||||
G_PARAM_READABLE |
|
||||
G_PARAM_STATIC_STRINGS));
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@ -912,9 +912,18 @@ GtkMenuItem*
|
||||
virt_viewer_window_get_menu_displays(VirtViewerWindow *self)
|
||||
{
|
||||
g_return_val_if_fail(VIRT_VIEWER_IS_WINDOW(self), NULL);
|
||||
|
||||
return GTK_MENU_ITEM(gtk_builder_get_object(self->priv->builder, "menu-displays"));
|
||||
}
|
||||
|
||||
GtkBuilder*
|
||||
virt_viewer_window_get_builder(VirtViewerWindow *self)
|
||||
{
|
||||
g_return_val_if_fail(VIRT_VIEWER_IS_WINDOW(self), NULL);
|
||||
|
||||
return self->priv->builder;
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* c-indent-level: 8
|
||||
|
||||
@ -69,6 +69,7 @@ gint virt_viewer_window_get_zoom_level(VirtViewerWindow *self);
|
||||
void virt_viewer_window_leave_fullscreen(VirtViewerWindow *self);
|
||||
void virt_viewer_window_enter_fullscreen(VirtViewerWindow *self, gboolean move, gint x, gint y);
|
||||
GtkMenuItem *virt_viewer_window_get_menu_displays(VirtViewerWindow *self);
|
||||
GtkBuilder* virt_viewer_window_get_builder(VirtViewerWindow *window);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user