Codebase list virt-viewer / be5ff83
spice: add unix-path in .vv file support This will allow to connect to a Spice server using a unix socket path, for example: [virt-viewer] type=spice unix-path=/var/run/user/1000/qemu/test/spice.sock Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Christophe Fergeau <cfergeau@redhat.com> Marc-André Lureau 5 years ago
4 changed file(s) with 51 addition(s) and 15 deletion(s). Raw diff Collapse all Expand all
161161
162162 The session type, either "spice", "vnc" or "ovirt".
163163
164 =item C<host> (string, mandatory)
164 =item C<unix-path> (string)
165
166 The server to connect to, using a Unix socket path. (supported with spice, since 8.0)
167
168 This option is incompatible with C<host>, C<port> and C<tls-port>.
169
170 =item C<host> (string)
165171
166172 The server host to connect to.
167173
4242 * - newer-version-url: string specifying an URL to display when the minimum
4343 * version check fails
4444 * - type: string, mandatory, values: "spice" (later "vnc" etc..)
45 * - unix-path: string
4546 * - host: string
4647 * - port: int
4748 * - tls-port: int
103104 enum {
104105 PROP_DUMMY_PROPERTY,
105106 PROP_TYPE,
107 PROP_UNIX_PATH,
106108 PROP_HOST,
107109 PROP_PORT,
108110 PROP_TLS_PORT,
326328 }
327329
328330 gchar*
331 virt_viewer_file_get_unix_path(VirtViewerFile* self)
332 {
333 return virt_viewer_file_get_string(self, MAIN_GROUP, "unix-path");
334 }
335
336 void
337 virt_viewer_file_set_unix_path(VirtViewerFile* self, const gchar* value)
338 {
339 virt_viewer_file_set_string(self, MAIN_GROUP, "unix-path", value);
340 g_object_notify(G_OBJECT(self), "unix-path");
341 }
342
343 gchar*
329344 virt_viewer_file_get_file_type(VirtViewerFile* self)
330345 {
331346 return virt_viewer_file_get_string(self, MAIN_GROUP, "type");
938953 case PROP_TYPE:
939954 virt_viewer_file_set_type(self, g_value_get_string(value));
940955 break;
956 case PROP_UNIX_PATH:
957 virt_viewer_file_set_unix_path(self, g_value_get_string(value));
958 break;
941959 case PROP_HOST:
942960 virt_viewer_file_set_host(self, g_value_get_string(value));
943961 break;
10531071 case PROP_TYPE:
10541072 g_value_take_string(value, virt_viewer_file_get_file_type(self));
10551073 break;
1074 case PROP_UNIX_PATH:
1075 g_value_take_string(value, virt_viewer_file_get_unix_path(self));
1076 break;
10561077 case PROP_HOST:
10571078 g_value_take_string(value, virt_viewer_file_get_host(self));
10581079 break;
5353 GError** error);
5454 gboolean virt_viewer_file_is_set(VirtViewerFile* self, const gchar* key);
5555
56 gchar* virt_viewer_file_get_unix_path(VirtViewerFile* self);
57 void virt_viewer_file_set_unix_path(VirtViewerFile* self, const gchar* value);
5658 gchar* virt_viewer_file_get_ca(VirtViewerFile* self);
5759 void virt_viewer_file_set_ca(VirtViewerFile* self, const gchar* value);
5860 gchar* virt_viewer_file_get_host(VirtViewerFile* self);
504504 g_return_if_fail(VIRT_VIEWER_IS_FILE(file));
505505 g_return_if_fail(SPICE_IS_SESSION(session));
506506
507 if (virt_viewer_file_is_set(file, "host")) {
508 gchar *val = virt_viewer_file_get_host(file);
509 g_object_set(G_OBJECT(session), "host", val, NULL);
507 if (virt_viewer_file_is_set(file, "unix-path")) {
508 gchar *val = virt_viewer_file_get_unix_path(file);
509 g_object_set(G_OBJECT(session), "unix-path", val, NULL);
510510 g_free(val);
511 }
512
513 if (virt_viewer_file_is_set(file, "port")) {
514 gchar *port = g_strdup_printf("%d", virt_viewer_file_get_port(file));
515 g_object_set(G_OBJECT(session), "port", port, NULL);
516 g_free(port);
517 }
518 if (virt_viewer_file_is_set(file, "tls-port")) {
519 gchar *tls_port = g_strdup_printf("%d", virt_viewer_file_get_tls_port(file));
520 g_object_set(G_OBJECT(session), "tls-port", tls_port, NULL);
521 g_free(tls_port);
511 } else {
512 if (virt_viewer_file_is_set(file, "host")) {
513 gchar *val = virt_viewer_file_get_host(file);
514 g_object_set(G_OBJECT(session), "host", val, NULL);
515 g_free(val);
516 }
517
518 if (virt_viewer_file_is_set(file, "port")) {
519 gchar *port = g_strdup_printf("%d", virt_viewer_file_get_port(file));
520 g_object_set(G_OBJECT(session), "port", port, NULL);
521 g_free(port);
522 }
523
524 if (virt_viewer_file_is_set(file, "tls-port")) {
525 gchar *tls_port = g_strdup_printf("%d", virt_viewer_file_get_tls_port(file));
526 g_object_set(G_OBJECT(session), "tls-port", tls_port, NULL);
527 g_free(tls_port);
528 }
522529 }
523530
524531 if (virt_viewer_file_is_set(file, "username")) {