[libvirt] [libvirt-glib 09/20] gconfig: Add gvir_config_domain_graphics_{spice, vnc}_add_listen

Christophe Fergeau cfergeau at redhat.com
Tue Oct 4 15:23:47 UTC 2016


---
 libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c | 17 +++++++++++++++++
 libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h |  2 ++
 libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c   | 17 +++++++++++++++++
 libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h   |  2 ++
 libvirt-gconfig/libvirt-gconfig.sym                     |  2 ++
 tests/test-gconfig.c                                    | 10 ++++++++++
 tests/xml/gconfig-domain-device-graphics-listen.xml     |  2 ++
 7 files changed, 52 insertions(+)

diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c
index 7e0bd9f..88dd757 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c
+++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.c
@@ -186,6 +186,23 @@ void gvir_config_domain_graphics_spice_set_listen(GVirConfigDomainGraphicsSpice
     }
 }
 
+/**
+ * gvir_config_domain_graphics_spice_add_listen:
+ * @graphics: a #GVirConfigDomainGraphicsSpice
+ * @listens: a #GVirConfigDomainGraphicsListen
+ *
+ * This method is used to add a listen node to a #GVirConfigDomainGraphicsSpice
+ * device can handle.
+*/
+void gvir_config_domain_graphics_spice_add_listen(GVirConfigDomainGraphicsSpice *graphics,
+                                                  GVirConfigDomainGraphicsListen *listen)
+{
+    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_GRAPHICS_SPICE(graphics));
+
+    gvir_config_object_attach_add(GVIR_CONFIG_OBJECT(graphics),
+                                  GVIR_CONFIG_OBJECT(listen));
+}
+
 struct ListenData {
     GVirConfigXmlDoc *doc;
     const gchar *schema;
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h
index 1632cc9..468ead6 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h
+++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h
@@ -97,6 +97,8 @@ void gvir_config_domain_graphics_spice_set_gl(GVirConfigDomainGraphicsSpice *gra
 
 void gvir_config_domain_graphics_spice_set_listen(GVirConfigDomainGraphicsSpice *graphics,
                                                   GList *listens);
+void gvir_config_domain_graphics_spice_add_listen(GVirConfigDomainGraphicsSpice *graphics,
+                                                  GVirConfigDomainGraphicsListen *listen);
 GList *gvir_config_domain_graphics_spice_get_listen(GVirConfigDomainGraphicsSpice *graphics);
 
 G_END_DECLS
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c
index bc229bd..17fce67 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c
+++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c
@@ -149,6 +149,23 @@ void gvir_config_domain_graphics_vnc_set_listen(GVirConfigDomainGraphicsVnc *gra
     }
 }
 
+/**
+ * gvir_config_domain_graphics_vnc_add_listen:
+ * @graphics: a #GVirConfigDomainGraphicsVnc
+ * @listens: a #GVirConfigDomainGraphicsListen
+ *
+ * This method is used to add a listen node to a #GVirConfigDomainGraphicsVnc
+ * device can handle.
+*/
+void gvir_config_domain_graphics_vnc_add_listen(GVirConfigDomainGraphicsVnc *graphics,
+                                                GVirConfigDomainGraphicsListen *listen)
+{
+    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_GRAPHICS_VNC(graphics));
+
+    gvir_config_object_attach_add(GVIR_CONFIG_OBJECT(graphics),
+                                  GVIR_CONFIG_OBJECT(listen));
+}
+
 struct ListenData {
     GVirConfigXmlDoc *doc;
     const gchar *schema;
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h
index df21bd6..e4d4fc3 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h
+++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h
@@ -75,6 +75,8 @@ void gvir_config_domain_graphics_vnc_set_port(GVirConfigDomainGraphicsVnc *graph
 
 void gvir_config_domain_graphics_vnc_set_listen(GVirConfigDomainGraphicsVnc *graphics,
                                                 GList *listens);
+void gvir_config_domain_graphics_vnc_add_listen(GVirConfigDomainGraphicsVnc *graphics,
+                                                GVirConfigDomainGraphicsListen *listen);
 GList *gvir_config_domain_graphics_vnc_get_listen(GVirConfigDomainGraphicsVnc *graphics);
 
 void gvir_config_domain_graphics_vnc_set_password(GVirConfigDomainGraphicsVnc *graphics,
diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
index c07de56..aef53cd 100644
--- a/libvirt-gconfig/libvirt-gconfig.sym
+++ b/libvirt-gconfig/libvirt-gconfig.sym
@@ -757,9 +757,11 @@ global:
 	gvir_config_domain_graphics_listen_unix_new;
 	gvir_config_domain_graphics_listen_unix_new_from_xml;
 	gvir_config_domain_graphics_listen_unix_set_path;
+	gvir_config_domain_graphics_spice_add_listen;
 	gvir_config_domain_graphics_spice_get_listen;
 	gvir_config_domain_graphics_spice_set_gl;
 	gvir_config_domain_graphics_spice_set_listen;
+	gvir_config_domain_graphics_vnc_add_listen;
 	gvir_config_domain_graphics_vnc_get_listen;
 	gvir_config_domain_graphics_vnc_set_listen;
 
diff --git a/tests/test-gconfig.c b/tests/test-gconfig.c
index 97275a1..7fc0704 100644
--- a/tests/test-gconfig.c
+++ b/tests/test-gconfig.c
@@ -501,6 +501,11 @@ static void test_domain_device_graphics_listen(void)
     g_object_unref(inet_address);
     g_object_unref(ret_inet_address);
 
+    GVirConfigDomainGraphicsListenNone *none_listen = gvir_config_domain_graphics_listen_none_new();
+    GVirConfigDomainGraphicsListenUnix *unix_listen = gvir_config_domain_graphics_listen_unix_new();
+    gvir_config_domain_graphics_listen_unix_set_path(unix_listen, "/tmp/bar.sock");
+    g_assert_cmpstr("/tmp/bar.sock", ==, gvir_config_domain_graphics_listen_unix_get_path(unix_listen));
+
     gvir_config_domain_graphics_listen_address_set_address(address_listen, "127.0.0.1");
     const gchar *ret_address = gvir_config_domain_graphics_listen_address_get_address(address_listen);
     g_assert_cmpstr("127.0.0.1", ==, ret_address);
@@ -511,6 +516,11 @@ static void test_domain_device_graphics_listen(void)
     g_object_unref(G_OBJECT(address_listen));
     g_list_free(listen_list);
 
+    gvir_config_domain_graphics_spice_add_listen(graphics, GVIR_CONFIG_DOMAIN_GRAPHICS_LISTEN(none_listen));
+    gvir_config_domain_graphics_spice_add_listen(graphics, GVIR_CONFIG_DOMAIN_GRAPHICS_LISTEN(unix_listen));
+    g_object_unref(none_listen);
+    g_object_unref(unix_listen);
+
     gvir_config_domain_add_device(domain, GVIR_CONFIG_DOMAIN_DEVICE(graphics));
     g_object_unref(G_OBJECT(graphics));
 
diff --git a/tests/xml/gconfig-domain-device-graphics-listen.xml b/tests/xml/gconfig-domain-device-graphics-listen.xml
index 27200c4..6e53876 100644
--- a/tests/xml/gconfig-domain-device-graphics-listen.xml
+++ b/tests/xml/gconfig-domain-device-graphics-listen.xml
@@ -2,6 +2,8 @@
   <devices>
     <graphics type="spice">
       <listen type="address" address="127.0.0.1"/>
+      <listen type="none"/>
+      <listen type="socket" socket="/tmp/bar.sock"/>
     </graphics>
   </devices>
 </domain>
-- 
2.7.4




More information about the libvir-list mailing list