Commit afb411f3 authored by Jens Georg's avatar Jens Georg

Remove dependency on GUPnP

We actually only used it for GUPnPXMLDoc and some error constants.
This is now replaced by a small boxed that adds external refcounting to xmlDoc
and GLib's G_MARKUP_ERROR constants.
Signed-off-by: Jens Georg's avatarJens Georg <mail@jensge.org>
parent f39d155d
......@@ -32,8 +32,7 @@ AX_COMPILER_FLAGS([WARN_CFLAGS])
LT_PREREQ([2.2])
LT_INIT([win32-dll])
PKG_CHECK_MODULES(LIBGUPNP, gupnp-1.0 >= 0.19.0 \
gobject-2.0 \
PKG_CHECK_MODULES(LIBGUPNP, gobject-2.0 \
libxml-2.0)
# glib-genmarshal
......
......@@ -8,4 +8,3 @@ Description: GObject-based AV specific UPnP library
Version: @VERSION@
Libs: ${libdir}/libgupnp-av-1.0.la
Cflags: -I${includedir}
Requires.private: gupnp-1.0
......@@ -8,4 +8,3 @@ Description: GObject-based AV specific UPnP library
Version: @VERSION@
Libs: -L${libdir} -lgupnp-av-1.0
Cflags: -I${includedir}/gupnp-av-1.0
Requires.private: gupnp-1.0
......@@ -29,8 +29,6 @@
*
*/
#include <libgupnp/gupnp-error.h>
#include "xml-util.h"
#include "gupnp-cds-last-change-parser.h"
......@@ -114,8 +112,8 @@ gupnp_cds_last_change_parser_parse (GUPnPCDSLastChangeParser *parser,
doc = xmlParseDoc ((const xmlChar *) last_change);
if (doc == NULL) {
g_set_error (error,
GUPNP_XML_ERROR,
GUPNP_XML_ERROR_PARSE,
G_MARKUP_ERROR,
G_MARKUP_ERROR_PARSE,
"Could not parse LastChange XML");
goto out;
......@@ -126,8 +124,8 @@ gupnp_cds_last_change_parser_parse (GUPnPCDSLastChangeParser *parser,
NULL);
if (state_event == NULL) {
g_set_error (error,
GUPNP_XML_ERROR,
GUPNP_XML_ERROR_PARSE,
G_MARKUP_ERROR,
G_MARKUP_ERROR_PARSE,
"Missing StateEvent node");
goto out;
......
......@@ -464,7 +464,7 @@ gupnp_didl_lite_container_get_create_classes_full (
for (l = cc_list; l; l = l->next) {
GUPnPDIDLLiteCreateClass *cc;
xmlNode *cc_node;
GUPnPXMLDoc *cc_doc;
GUPnPAVXMLDoc *cc_doc;
cc_node = (xmlNode *) l->data;
if (!cc_node->children)
......@@ -633,7 +633,7 @@ gupnp_didl_lite_container_set_container_update_id
{
xmlNode *xml_node;
xmlNsPtr upnp_ns;
GUPnPXMLDoc *xml_doc;
GUPnPAVXMLDoc *xml_doc;
char *str;
GUPnPDIDLLiteObject *self_as_object;
......@@ -693,7 +693,7 @@ gupnp_didl_lite_container_set_total_deleted_child_count
{
xmlNode *xml_node;
xmlNsPtr upnp_ns;
GUPnPXMLDoc *xml_doc;
GUPnPAVXMLDoc *xml_doc;
char *str;
GUPnPDIDLLiteObject *self_as_object;
......
......@@ -23,6 +23,8 @@
#ifndef __GUPNP_DIDL_LITE_CONTRIBUTOR_PRIVATE_H__
#define __GUPNP_DIDL_LITE_CONTRIBUTOR_PRIVATE_H__
#include "xml-util.h"
#include <glib-object.h>
#include <libxml/tree.h>
......@@ -32,7 +34,7 @@ G_BEGIN_DECLS
GUPnPDIDLLiteContributor *
gupnp_didl_lite_contributor_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc);
GUPnPAVXMLDoc *xml_doc);
G_END_DECLS
......
......@@ -28,8 +28,6 @@
* producer, director, producer and contributor) property in a DIDL-Lite object.
*/
#include <libgupnp/gupnp.h>
#include "gupnp-didl-lite-contributor.h"
#include "gupnp-didl-lite-contributor-private.h"
#include "xml-util.h"
......@@ -40,7 +38,7 @@ G_DEFINE_TYPE (GUPnPDIDLLiteContributor,
struct _GUPnPDIDLLiteContributorPrivate {
xmlNode *xml_node;
GUPnPXMLDoc *xml_doc;
GUPnPAVXMLDoc *xml_doc;
};
enum {
......@@ -109,7 +107,7 @@ gupnp_didl_lite_contributor_set_property (GObject *object,
contributor->priv->xml_node = g_value_get_pointer (value);
break;
case PROP_XML_DOC:
contributor->priv->xml_doc = g_value_dup_object (value);
contributor->priv->xml_doc = g_value_dup_boxed (value);
break;
case PROP_ROLE:
gupnp_didl_lite_contributor_set_role
......@@ -135,10 +133,7 @@ gupnp_didl_lite_contributor_dispose (GObject *object)
priv = GUPNP_DIDL_LITE_CONTRIBUTOR (object)->priv;
if (priv->xml_doc) {
g_object_unref (priv->xml_doc);
priv->xml_doc = NULL;
}
g_clear_pointer (&priv->xml_doc, xml_doc_unref);
object_class = G_OBJECT_CLASS
(gupnp_didl_lite_contributor_parent_class);
......@@ -189,11 +184,11 @@ gupnp_didl_lite_contributor_class_init (GUPnPDIDLLiteContributorClass *klass)
g_object_class_install_property
(object_class,
PROP_XML_DOC,
g_param_spec_object ("xml-doc",
g_param_spec_boxed ("xml-doc",
"XMLDoc",
"The reference to XML document"
" containing this contributor.",
GUPNP_TYPE_XML_DOC,
xml_doc_get_type (),
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_NAME |
......@@ -326,8 +321,8 @@ gupnp_didl_lite_contributor_set_name (GUPnPDIDLLiteContributor *contributor,
* Return value: A new #GUPnPDIDLLiteContributor object. Unref after usage.
**/
GUPnPDIDLLiteContributor *
gupnp_didl_lite_contributor_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc)
gupnp_didl_lite_contributor_new_from_xml (xmlNode *xml_node,
GUPnPAVXMLDoc *xml_doc)
{
return g_object_new (GUPNP_TYPE_DIDL_LITE_CONTRIBUTOR,
"xml-node", xml_node,
......
......@@ -25,6 +25,8 @@
#ifndef __GUPNP_DIDL_LITE_CREATE_CLASS_PRIVATE_H__
#define __GUPNP_DIDL_LITE_CREATE_CLASS_PRIVATE_H__
#include "xml-util.h"
#include <glib-object.h>
#include <libxml/tree.h>
......@@ -32,7 +34,7 @@ G_BEGIN_DECLS
G_GNUC_INTERNAL GUPnPDIDLLiteCreateClass *
gupnp_didl_lite_create_class_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc);
GUPnPAVXMLDoc *xml_doc);
G_END_DECLS
......
......@@ -41,7 +41,7 @@ G_DEFINE_TYPE (GUPnPDIDLLiteCreateClass,
struct _GUPnPDIDLLiteCreateClassPrivate {
xmlNode *xml_node;
GUPnPXMLDoc *xml_doc;
GUPnPAVXMLDoc *xml_doc;
};
enum {
......@@ -118,7 +118,7 @@ gupnp_didl_lite_create_class_set_property (GObject *object,
create_class->priv->xml_node = g_value_get_pointer (value);
break;
case PROP_XML_DOC:
create_class->priv->xml_doc = g_value_dup_object (value);
create_class->priv->xml_doc = g_value_dup_boxed (value);
break;
case PROP_CONTENT:
gupnp_didl_lite_create_class_set_content
......@@ -149,10 +149,7 @@ gupnp_didl_lite_create_class_dispose (GObject *object)
priv = GUPNP_DIDL_LITE_CREATE_CLASS (object)->priv;
if (priv->xml_doc) {
g_object_unref (priv->xml_doc);
priv->xml_doc = NULL;
}
g_clear_pointer (&priv->xml_doc, xml_doc_unref);
object_class = G_OBJECT_CLASS
(gupnp_didl_lite_create_class_parent_class);
......@@ -204,12 +201,12 @@ gupnp_didl_lite_create_class_class_init (GUPnPDIDLLiteCreateClassClass *klass)
g_object_class_install_property
(object_class,
PROP_XML_DOC,
g_param_spec_object
g_param_spec_boxed
("xml-doc",
"XMLDoc",
"The reference to XML document"
" containing this object.",
GUPNP_TYPE_XML_DOC,
xml_doc_get_type (),
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_NAME |
......@@ -415,7 +412,7 @@ gupnp_didl_lite_create_class_set_friendly_name
**/
GUPnPDIDLLiteCreateClass *
gupnp_didl_lite_create_class_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc)
GUPnPAVXMLDoc *xml_doc)
{
return g_object_new (GUPNP_TYPE_DIDL_LITE_CREATE_CLASS,
"xml-node", xml_node,
......
......@@ -23,16 +23,17 @@
#ifndef __GUPNP_DIDL_LITE_DESCRIPTOR_PRIVATE_H__
#define __GUPNP_DIDL_LITE_DESCRIPTOR_PRIVATE_H__
#include "xml-util.h"
#include <stdarg.h>
#include <glib-object.h>
#include <libxml/tree.h>
#include <libgupnp/gupnp.h>
G_BEGIN_DECLS
GUPnPDIDLLiteDescriptor *
gupnp_didl_lite_descriptor_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc);
GUPnPAVXMLDoc *xml_doc);
G_END_DECLS
......
......@@ -38,8 +38,8 @@ G_DEFINE_TYPE (GUPnPDIDLLiteDescriptor,
G_TYPE_OBJECT);
struct _GUPnPDIDLLiteDescriptorPrivate {
xmlNode *xml_node;
GUPnPXMLDoc *xml_doc;
xmlNode *xml_node;
GUPnPAVXMLDoc *xml_doc;
};
enum {
......@@ -77,7 +77,7 @@ gupnp_didl_lite_descriptor_set_property (GObject *object,
descriptor->priv->xml_node = g_value_get_pointer (value);
break;
case PROP_XML_DOC:
descriptor->priv->xml_doc = g_value_dup_object (value);
descriptor->priv->xml_doc = g_value_dup_boxed (value);
break;
case PROP_ID:
gupnp_didl_lite_descriptor_set_id
......@@ -157,10 +157,7 @@ gupnp_didl_lite_descriptor_dispose (GObject *object)
priv = GUPNP_DIDL_LITE_DESCRIPTOR (object)->priv;
if (priv->xml_doc) {
g_object_unref (priv->xml_doc);
priv->xml_doc = NULL;
}
g_clear_pointer (&priv->xml_doc, xml_doc_unref);
object_class = G_OBJECT_CLASS (gupnp_didl_lite_descriptor_parent_class);
object_class->dispose (object);
......@@ -210,11 +207,11 @@ gupnp_didl_lite_descriptor_class_init (GUPnPDIDLLiteDescriptorClass *klass)
g_object_class_install_property
(object_class,
PROP_XML_DOC,
g_param_spec_object ("xml-doc",
g_param_spec_boxed ("xml-doc",
"XMLDoc",
"The reference to XML document"
" containing this object.",
GUPNP_TYPE_XML_DOC,
xml_doc_get_type (),
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_NAME |
......@@ -313,8 +310,8 @@ gupnp_didl_lite_descriptor_new (void)
* Return value: A new #GUPnPDIDLLiteDescriptor object. Unref after usage.
**/
GUPnPDIDLLiteDescriptor *
gupnp_didl_lite_descriptor_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc)
gupnp_didl_lite_descriptor_new_from_xml (xmlNode *xml_node,
GUPnPAVXMLDoc *xml_doc)
{
return g_object_new (GUPNP_TYPE_DIDL_LITE_DESCRIPTOR,
"xml-node", xml_node,
......
......@@ -26,7 +26,6 @@
#include <stdarg.h>
#include <glib-object.h>
#include <libxml/tree.h>
#include <libgupnp/gupnp.h>
G_BEGIN_DECLS
......
......@@ -207,7 +207,7 @@ gupnp_didl_lite_item_set_lifetime (GUPnPDIDLLiteItem *item,
{
xmlNode *node = NULL;
xmlNs *ns = NULL;
GUPnPXMLDoc *doc = NULL;
GUPnPAVXMLDoc *doc = NULL;
GUPnPDIDLLiteObject *object = NULL;
g_return_if_fail (GUPNP_IS_DIDL_LITE_ITEM (item));
......
......@@ -25,6 +25,8 @@
#ifndef __GUPNP_DIDL_LITE_OBJECT_PRIVATE_H__
#define __GUPNP_DIDL_LITE_OBJECT_PRIVATE_H__
#include "xml-util.h"
#include <glib-object.h>
#include <libxml/tree.h>
......@@ -32,13 +34,13 @@ G_BEGIN_DECLS
G_GNUC_INTERNAL GUPnPDIDLLiteObject *
gupnp_didl_lite_object_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc,
GUPnPAVXMLDoc *xml_doc,
xmlNs *upnp_ns,
xmlNs *dc_ns,
xmlNs *dlna_ns,
xmlNs *pv_ns);
G_GNUC_INTERNAL GUPnPXMLDoc *
G_GNUC_INTERNAL GUPnPAVXMLDoc *
gupnp_didl_lite_object_get_gupnp_xml_doc
(GUPnPDIDLLiteObject *object);
......
......@@ -30,7 +30,6 @@
*/
#include <string.h>
#include <libgupnp/gupnp.h>
#include "gupnp-didl-lite-object.h"
#include "gupnp-didl-lite-object-private.h"
......@@ -48,8 +47,8 @@ G_DEFINE_ABSTRACT_TYPE (GUPnPDIDLLiteObject,
G_TYPE_OBJECT);
struct _GUPnPDIDLLiteObjectPrivate {
xmlNode *xml_node;
GUPnPXMLDoc *xml_doc;
xmlNode *xml_node;
GUPnPAVXMLDoc *xml_doc;
xmlNs *upnp_ns;
xmlNs *dc_ns;
......@@ -124,7 +123,7 @@ gupnp_didl_lite_object_set_property (GObject *object,
didl_object->priv->xml_node = g_value_get_pointer (value);
break;
case PROP_XML_DOC:
didl_object->priv->xml_doc = g_value_dup_object (value);
didl_object->priv->xml_doc = g_value_dup_boxed (value);
break;
case PROP_UPNP_NAMESPACE:
didl_object->priv->upnp_ns = g_value_get_pointer (value);
......@@ -367,10 +366,7 @@ gupnp_didl_lite_object_dispose (GObject *object)
priv = GUPNP_DIDL_LITE_OBJECT (object)->priv;
if (priv->xml_doc) {
g_object_unref (priv->xml_doc);
priv->xml_doc = NULL;
}
g_clear_pointer (&priv->xml_doc, xml_doc_unref);
object_class = G_OBJECT_CLASS (gupnp_didl_lite_object_parent_class);
object_class->dispose (object);
......@@ -419,11 +415,11 @@ gupnp_didl_lite_object_class_init (GUPnPDIDLLiteObjectClass *klass)
g_object_class_install_property
(object_class,
PROP_XML_DOC,
g_param_spec_object ("xml-doc",
g_param_spec_boxed ("xml-doc",
"XMLDoc",
"The reference to XML document"
" containing this object.",
GUPNP_TYPE_XML_DOC,
xml_doc_get_type (),
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_NAME |
......@@ -954,12 +950,12 @@ unset_contributors_by_name (GUPnPDIDLLiteObject *object, const char *name)
* Return value: A new #GUPnPDIDLLiteObject object. Unref after usage.
**/
GUPnPDIDLLiteObject *
gupnp_didl_lite_object_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc,
xmlNs *upnp_ns,
xmlNs *dc_ns,
xmlNs *dlna_ns,
xmlNs *pv_ns)
gupnp_didl_lite_object_new_from_xml (xmlNode *xml_node,
GUPnPAVXMLDoc *xml_doc,
xmlNs *upnp_ns,
xmlNs *dc_ns,
xmlNs *dlna_ns,
xmlNs *pv_ns)
{
g_return_val_if_fail (xml_node != NULL, NULL);
g_return_val_if_fail (xml_node->name != NULL, NULL);
......@@ -995,7 +991,7 @@ gupnp_didl_lite_object_new_from_xml (xmlNode *xml_node,
* Returns: (transfer none): The pointer to the XML document containing this
* object.
**/
GUPnPXMLDoc *
GUPnPAVXMLDoc *
gupnp_didl_lite_object_get_gupnp_xml_doc (GUPnPDIDLLiteObject *object)
{
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), NULL);
......
......@@ -84,7 +84,7 @@ verify_didl_attributes (xmlNode *node)
static gboolean
parse_elements (GUPnPDIDLLiteParser *parser,
xmlNode *node,
GUPnPXMLDoc *xml_doc,
GUPnPAVXMLDoc *xml_doc,
xmlNs *upnp_ns,
xmlNs *dc_ns,
xmlNs *dlna_ns,
......@@ -217,7 +217,7 @@ gupnp_didl_lite_parser_parse_didl (GUPnPDIDLLiteParser *parser,
* gupnp_didl_lite_parser_parse_didl_recursive:
* @parser: A #GUPnPDIDLLiteParser
* @didl: The DIDL-Lite XML string to be parsed
* @error: The location where to store any error, or NULL
* @error: The location where to store any error, or %NULL
*
* Parses DIDL-Lite XML string @didl, emitting the ::object-available,
* ::item-available and ::container-available signals appropriately during the
......@@ -231,20 +231,20 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser,
gboolean recursive,
GError **error)
{
xmlDoc *doc;
xmlNode *element;
xmlNs *upnp_ns = NULL;
xmlNs *dc_ns = NULL;
xmlNs *dlna_ns = NULL;
xmlNs *pv_ns = NULL;
GUPnPXMLDoc *xml_doc;
gboolean result;
xmlDoc *doc;
xmlNode *element;
xmlNs *upnp_ns = NULL;
xmlNs *dc_ns = NULL;
xmlNs *dlna_ns = NULL;
xmlNs *pv_ns = NULL;
GUPnPAVXMLDoc *xml_doc = NULL;
gboolean result;
doc = xmlRecoverMemory (didl, strlen (didl));
if (doc == NULL) {
g_set_error (error,
GUPNP_XML_ERROR,
GUPNP_XML_ERROR_PARSE,
G_MARKUP_ERROR,
G_MARKUP_ERROR_PARSE,
"Could not parse DIDL-Lite XML:\n%s", didl);
return FALSE;
......@@ -256,8 +256,8 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser,
NULL);
if (element == NULL) {
g_set_error (error,
GUPNP_XML_ERROR,
GUPNP_XML_ERROR_NO_NODE,
G_MARKUP_ERROR,
G_MARKUP_ERROR_PARSE,
"No 'DIDL-Lite' node in the DIDL-Lite XML:\n%s",
didl);
xmlFreeDoc (doc);
......@@ -267,8 +267,8 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser,
if (element->children == NULL) {
g_set_error (error,
GUPNP_XML_ERROR,
GUPNP_XML_ERROR_EMPTY_NODE,
G_MARKUP_ERROR,
G_MARKUP_ERROR_EMPTY,
"Empty 'DIDL-Lite' node in the DIDL-Lite XML:\n%s",
didl);
xmlFreeDoc (doc);
......@@ -296,7 +296,7 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser,
pv_ns = xml_util_create_namespace (xmlDocGetRootElement (doc),
GUPNP_XML_NAMESPACE_PV);
xml_doc = gupnp_xml_doc_new (doc);
xml_doc = xml_doc_new (doc);
result = parse_elements (parser,
element,
......@@ -307,7 +307,7 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser,
pv_ns,
recursive,
error);
g_object_unref (xml_doc);
xml_doc_unref (xml_doc);
return result;
}
......@@ -315,7 +315,7 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser,
static gboolean
parse_elements (GUPnPDIDLLiteParser *parser,
xmlNode *node,
GUPnPXMLDoc *xml_doc,
GUPnPAVXMLDoc *xml_doc,
xmlNs *upnp_ns,
xmlNs *dc_ns,
xmlNs *dlna_ns,
......@@ -359,8 +359,8 @@ parse_elements (GUPnPDIDLLiteParser *parser,
if (!verify_didl_attributes (node)) {
g_object_unref (object);
g_set_error (error,
GUPNP_XML_ERROR,
GUPNP_XML_ERROR_INVALID_ATTRIBUTE,
G_MARKUP_ERROR,
G_MARKUP_ERROR_PARSE,
"Could not parse DIDL-Lite XML");
return FALSE;
......
......@@ -22,7 +22,6 @@
#ifndef __GUPNP_DIDL_LITE_PARSER_H__
#define __GUPNP_DIDL_LITE_PARSER_H__
#include <libgupnp/gupnp.h>
#include "gupnp-didl-lite-container.h"
#include "gupnp-didl-lite-item.h"
......
......@@ -23,6 +23,8 @@
#ifndef __GUPNP_DIDL_LITE_RESOURCE_PRIVATE_H__
#define __GUPNP_DIDL_LITE_RESOURCE_PRIVATE_H__
#include "xml-util.h"
#include <stdarg.h>
#include <glib-object.h>
#include <libxml/tree.h>
......@@ -31,7 +33,7 @@ G_BEGIN_DECLS
GUPnPDIDLLiteResource *
gupnp_didl_lite_resource_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc,
GUPnPAVXMLDoc *xml_doc,
xmlNs *dlna_ns,
xmlNs *pv_ns);
......
......@@ -45,7 +45,7 @@ G_DEFINE_TYPE (GUPnPDIDLLiteResource,
struct _GUPnPDIDLLiteResourcePrivate {
xmlNode *xml_node;
GUPnPXMLDoc *xml_doc;
GUPnPAVXMLDoc *xml_doc;
xmlNs *dlna_ns;
xmlNs *pv_ns;
......@@ -148,7 +148,7 @@ gupnp_didl_lite_resource_set_property (GObject *object,
resource->priv->xml_node = g_value_get_pointer (value);
break;
case PROP_XML_DOC:
resource->priv->xml_doc = g_value_dup_object (value);
resource->priv->xml_doc = g_value_dup_boxed (value);
break;
case PROP_URI:
gupnp_didl_lite_resource_set_uri (resource,
......@@ -386,10 +386,7 @@ gupnp_didl_lite_resource_dispose (GObject *object)
priv = GUPNP_DIDL_LITE_RESOURCE (object)->priv;
if (priv->xml_doc) {
g_object_unref (priv->xml_doc);
priv->xml_doc = NULL;
}
g_clear_pointer (&priv->xml_doc, xml_doc_unref);
if (priv->protocol_info != NULL) {
g_object_unref (priv->protocol_info);
......@@ -443,11 +440,11 @@ gupnp_didl_lite_resource_class_init (GUPnPDIDLLiteResourceClass *klass)
g_object_class_install_property
(object_class,
PROP_XML_DOC,
g_param_spec_object ("xml-doc",
g_param_spec_boxed ("xml-doc",
"XMLDoc",
"The reference to XML document"
" containing this object.",
GUPNP_TYPE_XML_DOC,
xml_doc_get_type (),
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_NAME |
......@@ -854,10 +851,10 @@ gupnp_didl_lite_resource_class_init (GUPnPDIDLLiteResourceClass *klass)
* Return value: A new #GUPnPDIDLLiteResource object. Unref after usage.
**/
GUPnPDIDLLiteResource *
gupnp_didl_lite_resource_new_from_xml (xmlNode *xml_node,
GUPnPXMLDoc *xml_doc,
xmlNs *dlna_ns,
xmlNs *pv_ns)
gupnp_didl_lite_resource_new_from_xml (xmlNode *xml_node,
GUPnPAVXMLDoc *xml_doc,
xmlNs *dlna_ns,
xmlNs *pv_ns)