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
161 | 161 | |
162 | 162 | The session type, either "spice", "vnc" or "ovirt". |
163 | 163 | |
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) | |
165 | 171 | |
166 | 172 | The server host to connect to. |
167 | 173 |
42 | 42 | * - newer-version-url: string specifying an URL to display when the minimum |
43 | 43 | * version check fails |
44 | 44 | * - type: string, mandatory, values: "spice" (later "vnc" etc..) |
45 | * - unix-path: string | |
45 | 46 | * - host: string |
46 | 47 | * - port: int |
47 | 48 | * - tls-port: int |
103 | 104 | enum { |
104 | 105 | PROP_DUMMY_PROPERTY, |
105 | 106 | PROP_TYPE, |
107 | PROP_UNIX_PATH, | |
106 | 108 | PROP_HOST, |
107 | 109 | PROP_PORT, |
108 | 110 | PROP_TLS_PORT, |
326 | 328 | } |
327 | 329 | |
328 | 330 | 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* | |
329 | 344 | virt_viewer_file_get_file_type(VirtViewerFile* self) |
330 | 345 | { |
331 | 346 | return virt_viewer_file_get_string(self, MAIN_GROUP, "type"); |
938 | 953 | case PROP_TYPE: |
939 | 954 | virt_viewer_file_set_type(self, g_value_get_string(value)); |
940 | 955 | break; |
956 | case PROP_UNIX_PATH: | |
957 | virt_viewer_file_set_unix_path(self, g_value_get_string(value)); | |
958 | break; | |
941 | 959 | case PROP_HOST: |
942 | 960 | virt_viewer_file_set_host(self, g_value_get_string(value)); |
943 | 961 | break; |
1053 | 1071 | case PROP_TYPE: |
1054 | 1072 | g_value_take_string(value, virt_viewer_file_get_file_type(self)); |
1055 | 1073 | break; |
1074 | case PROP_UNIX_PATH: | |
1075 | g_value_take_string(value, virt_viewer_file_get_unix_path(self)); | |
1076 | break; | |
1056 | 1077 | case PROP_HOST: |
1057 | 1078 | g_value_take_string(value, virt_viewer_file_get_host(self)); |
1058 | 1079 | break; |
53 | 53 | GError** error); |
54 | 54 | gboolean virt_viewer_file_is_set(VirtViewerFile* self, const gchar* key); |
55 | 55 | |
56 | gchar* virt_viewer_file_get_unix_path(VirtViewerFile* self); | |
57 | void virt_viewer_file_set_unix_path(VirtViewerFile* self, const gchar* value); | |
56 | 58 | gchar* virt_viewer_file_get_ca(VirtViewerFile* self); |
57 | 59 | void virt_viewer_file_set_ca(VirtViewerFile* self, const gchar* value); |
58 | 60 | gchar* virt_viewer_file_get_host(VirtViewerFile* self); |
504 | 504 | g_return_if_fail(VIRT_VIEWER_IS_FILE(file)); |
505 | 505 | g_return_if_fail(SPICE_IS_SESSION(session)); |
506 | 506 | |
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); | |
510 | 510 | 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 | } | |
522 | 529 | } |
523 | 530 | |
524 | 531 | if (virt_viewer_file_is_set(file, "username")) { |