
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 :|