[libvirt] [libvirt-glib 10/23] Add gvir_config_object_to_xml

Daniel P. Berrange berrange at redhat.com
Tue Oct 18 11:41:07 UTC 2011


On Fri, Oct 07, 2011 at 11:40:55AM +0200, Christophe Fergeau wrote:
> ---
>  libvirt-gconfig/libvirt-gconfig-object.c |   19 +++++++++++++++++++
>  libvirt-gconfig/libvirt-gconfig-object.h |    2 ++
>  libvirt-gconfig/libvirt-gconfig.sym      |    1 +
>  3 files changed, 22 insertions(+), 0 deletions(-)
> 
> diff --git a/libvirt-gconfig/libvirt-gconfig-object.c b/libvirt-gconfig/libvirt-gconfig-object.c
> index 762baf9..66102ec 100644
> --- a/libvirt-gconfig/libvirt-gconfig-object.c
> +++ b/libvirt-gconfig/libvirt-gconfig-object.c
> @@ -293,6 +293,25 @@ void gvir_config_object_validate(GVirConfigObject *config,
>      xmlRelaxNGFree(rng);
>  }
>  
> +gchar *gvir_config_object_to_xml(GVirConfigObject *config)
> +{
> +    xmlChar *doc;
> +    int size;
> +    xmlNodePtr node;
> +    gchar *output_doc;
> +
> +    node = gvir_config_object_get_xml_node(config, NULL);
> +    if (node == NULL)
> +        return NULL;
> +
> +    xmlDocDumpMemory(node->doc, &doc, &size);
> +
> +    output_doc = g_strdup((gchar *)doc);
> +    xmlFree(doc);
> +
> +    return output_doc;
> +}
> +
>  const gchar *gvir_config_object_get_doc(GVirConfigObject *config)
>  {
>      GVirConfigObjectPrivate *priv = config->priv;
> diff --git a/libvirt-gconfig/libvirt-gconfig-object.h b/libvirt-gconfig/libvirt-gconfig-object.h
> index a0c0489..f6ac28b 100644
> --- a/libvirt-gconfig/libvirt-gconfig-object.h
> +++ b/libvirt-gconfig/libvirt-gconfig-object.h
> @@ -62,6 +62,8 @@ GType gvir_config_object_get_type(void);
>  void gvir_config_object_validate(GVirConfigObject *config,
>                                   GError **err);
>  
> +gchar *gvir_config_object_to_xml(GVirConfigObject *config);
> +
>  const gchar *gvir_config_object_get_doc(GVirConfigObject *config);
>  const gchar *gvir_config_object_get_schema(GVirConfigObject *config);
>  xmlDocPtr  gvir_config_object_get_xml_doc(GVirConfigObject *config, GError **error);
> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
> index 2571c05..5c4492e 100644
> --- a/libvirt-gconfig/libvirt-gconfig.sym
> +++ b/libvirt-gconfig/libvirt-gconfig.sym
> @@ -31,6 +31,7 @@ LIBVIRT_GOBJECT_0.0.1 {
>  	gvir_config_object_get_schema;
>  	gvir_config_object_get_xml_doc;
>  	gvir_config_object_get_xml_node;
> +	gvir_config_object_to_xml;
>  	gvir_config_object_validate;
>  
>  	gvir_config_secret_get_type;

ACK

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list