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

Christophe Fergeau cfergeau at redhat.com
Wed Aug 3 14:33:50 UTC 2016


On Mon, Aug 01, 2016 at 11:52:39PM +0300, Visarion Alexandru wrote:
> 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_domain_set_devices() warns but continues trying the other
devices, we probably can do the same here:

if (!GVIR_CONFIG_IS_DOMAIN_GRAPHICS_LISTEN(it->data)) {
    g_warn_if_reached();
    continue;
}

> +        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);

Indentation is off here, you need 4 more spaces.

> +
>  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;

Be careful to the alphabetical sorting as in the other patches.

Acked-by: Christophe Fergeau <cfergeau at redhat.com>

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160803/1f00d904/attachment-0001.sig>


More information about the libvir-list mailing list