[libvirt] [gconfig v2 3/4] config: Add vnc host setter

Visarion Alexandru viorel.visarion at gmail.com
Mon Aug 1 20:52:39 UTC 2016


From: Visarion Alexandru <viorel.visarion at gmail.com>

Learn to set the address that vnc is listening on.

We first remove the 'listen' attribute to avoid inconsistencies
checks between the 'listen' attribute and the 'address'
attribute of the 'listen' node.
---
 .../libvirt-gconfig-domain-graphics-vnc.c          | 28 ++++++++++++++++++++++
 .../libvirt-gconfig-domain-graphics-vnc.h          |  3 +++
 libvirt-gconfig/libvirt-gconfig.sym                |  1 +
 3 files changed, 32 insertions(+)

diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c
index fc26bb9..dc7641b 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c
+++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.c
@@ -120,6 +120,34 @@ void gvir_config_domain_graphics_vnc_set_port(GVirConfigDomainGraphicsVnc *graph
                                                NULL);
 }
 
+/**
+ * gvir_config_domain_graphics_vnc_set_listen_address:
+ * @graphics: a #GVirConfigDomainGraphicsVnc
+ * @listens: (in) (element-type LibvirtGConfig.DomainGraphicsListen):
+ *
+ * This method is used to set the various listen nodes a #GVirConfigDomainGraphicsVnc
+ * device can handle.
+*/
+void gvir_config_domain_graphics_vnc_set_listen_address(GVirConfigDomainGraphicsVnc *graphics,
+                                                        GList *listens)
+{
+    GList *it;
+
+    g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_GRAPHICS_VNC(graphics));
+
+    gvir_config_object_remove_attribute (GVIR_CONFIG_OBJECT(graphics),
+                                        "listen");
+    gvir_config_object_delete_children (GVIR_CONFIG_OBJECT (graphics),
+                                        "listen", NULL);
+
+    for (it = listens; it != NULL; it = it->next) {
+        g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_GRAPHICS_LISTEN(it->data));
+
+        gvir_config_object_attach_add(GVIR_CONFIG_OBJECT(graphics),
+                                      GVIR_CONFIG_OBJECT(it->data));
+    }
+}
+
 void gvir_config_domain_graphics_vnc_set_password(GVirConfigDomainGraphicsVnc *graphics,
                                                   const char *password)
 {
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h
index fe78621..f524dcc 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h
+++ b/libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h
@@ -73,6 +73,9 @@ int gvir_config_domain_graphics_vnc_get_port(GVirConfigDomainGraphicsVnc *graphi
 void gvir_config_domain_graphics_vnc_set_port(GVirConfigDomainGraphicsVnc *graphics,
                                               int port);
 
+void gvir_config_domain_graphics_vnc_set_listen_address(GVirConfigDomainGraphicsVnc *graphics,
+                                                    GList *listens);
+
 void gvir_config_domain_graphics_vnc_set_password(GVirConfigDomainGraphicsVnc *graphics,
                                                   const char *password);
 
diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
index fab6059..117a648 100644
--- a/libvirt-gconfig/libvirt-gconfig.sym
+++ b/libvirt-gconfig/libvirt-gconfig.sym
@@ -768,6 +768,7 @@ global:
 	gvir_config_domain_graphics_listen_address_get_type;
 	gvir_config_domain_graphics_listen_address_new;
 	gvir_config_domain_graphics_listen_address_new_from_xml;
+	gvir_config_domain_graphics_vnc_set_listen_address;
 } LIBVIRT_GCONFIG_0.2.2;
 
 # .... define new API here using predicted next version number ....
-- 
2.7.4




More information about the libvir-list mailing list