diff options
author | Jens Georg <mail@jensge.org> | 2012-11-22 16:58:16 +0100 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2012-11-22 16:58:54 +0100 |
commit | 156943e00ad17f2a61731f362b19313ecaa6fbbf (patch) | |
tree | e91c11b3d23d9f972b37505df96b5f657bff5013 | |
parent | 0553d87abb8f89b4e773603c0cb9abbb4454d096 (diff) | |
download | gupnp-av-156943e00ad17f2a61731f362b19313ecaa6fbbf.tar.gz |
Add function to dump XML of a DIDLObject
-rw-r--r-- | libgupnp-av/gupnp-didl-lite-object.c | 27 | ||||
-rw-r--r-- | libgupnp-av/gupnp-didl-lite-object.h | 3 |
2 files changed, 30 insertions, 0 deletions
diff --git a/libgupnp-av/gupnp-didl-lite-object.c b/libgupnp-av/gupnp-didl-lite-object.c index 30533c5..ff6bebf 100644 --- a/libgupnp-av/gupnp-didl-lite-object.c +++ b/libgupnp-av/gupnp-didl-lite-object.c @@ -2428,3 +2428,30 @@ gupnp_didl_lite_object_apply_fragments (GUPnPDIDLLiteObject *object, xmlFreeDoc (modified.doc); return result; } + +/** + * gupnp_didl_lite_object_get_xml_string: + * @object: #GUPnPDIDLLiteObject + * + * Get the representation of this object as an XML string. + * Returns: (transfer full): XML representation of this object as string. + **/ +char * +gupnp_didl_lite_object_get_xml_string (GUPnPDIDLLiteObject *object) +{ + xmlBuffer *buffer = NULL; + char *ret = NULL; + + buffer = xmlBufferCreate (); + xmlNodeDump (buffer, + object->priv->xml_doc->doc, + object->priv->xml_node, + 0, + 0); + + ret = g_strndup (BAD_CAST (xmlBufferContent (buffer)), + xmlBufferLength (buffer)); + xmlBufferFree (buffer); + + return ret; +} diff --git a/libgupnp-av/gupnp-didl-lite-object.h b/libgupnp-av/gupnp-didl-lite-object.h index 6ca982d..872f26b 100644 --- a/libgupnp-av/gupnp-didl-lite-object.h +++ b/libgupnp-av/gupnp-didl-lite-object.h @@ -301,6 +301,9 @@ gupnp_didl_lite_object_apply_fragments gchar **new_fragments, gint new_size); +char * +gupnp_didl_lite_object_get_xml_string (GUPnPDIDLLiteObject *object); + G_END_DECLS #endif /* __GUPNP_DIDL_LITE_OBJECT_H__ */ |