|
Packit |
712bc5 |
/*
|
|
Packit |
712bc5 |
* Copyright (C) 2009 Nokia Corporation.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Authors: Zeeshan Ali (Khattak) <zeeshan.ali@nokia.com>
|
|
Packit |
712bc5 |
* <zeeshanak@gnome.org>
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* This library is free software; you can redistribute it and/or
|
|
Packit |
712bc5 |
* modify it under the terms of the GNU Library General Public
|
|
Packit |
712bc5 |
* License as published by the Free Software Foundation; either
|
|
Packit |
712bc5 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
712bc5 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
712bc5 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
712bc5 |
* Library General Public License for more details.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* You should have received a copy of the GNU Library General Public
|
|
Packit |
712bc5 |
* License along with this library; if not, write to the
|
|
Packit |
712bc5 |
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Packit |
712bc5 |
* Boston, MA 02110-1301, USA.
|
|
Packit |
712bc5 |
*/
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* SECTION:gupnp-didl-lite-descriptor
|
|
Packit |
712bc5 |
* @short_description: DIDL-Lite Descriptor
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* #GUPnPDIDLLiteDescriptor respresent a DIDL-Lite descriptor (desc) element.
|
|
Packit |
712bc5 |
*/
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
#include <string.h>
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
#include "gupnp-didl-lite-descriptor.h"
|
|
Packit |
712bc5 |
#include "gupnp-didl-lite-descriptor-private.h"
|
|
Packit |
712bc5 |
#include "xml-util.h"
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
G_DEFINE_TYPE (GUPnPDIDLLiteDescriptor,
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor,
|
|
Packit |
712bc5 |
G_TYPE_OBJECT);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
struct _GUPnPDIDLLiteDescriptorPrivate {
|
|
Packit |
712bc5 |
xmlNode *xml_node;
|
|
Packit |
712bc5 |
GUPnPAVXMLDoc *xml_doc;
|
|
Packit |
712bc5 |
};
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
enum {
|
|
Packit |
712bc5 |
PROP_0,
|
|
Packit |
712bc5 |
PROP_XML_NODE,
|
|
Packit |
712bc5 |
PROP_XML_DOC,
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
PROP_ID,
|
|
Packit |
712bc5 |
PROP_METADATA_TYPE,
|
|
Packit |
712bc5 |
PROP_NAME_SPACE,
|
|
Packit |
712bc5 |
PROP_CONTENT
|
|
Packit |
712bc5 |
};
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_init (GUPnPDIDLLiteDescriptor *descriptor)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
descriptor->priv = G_TYPE_INSTANCE_GET_PRIVATE
|
|
Packit |
712bc5 |
(descriptor,
|
|
Packit |
712bc5 |
GUPNP_TYPE_DIDL_LITE_DESCRIPTOR,
|
|
Packit |
712bc5 |
GUPnPDIDLLiteDescriptorPrivate);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_property (GObject *object,
|
|
Packit |
712bc5 |
guint property_id,
|
|
Packit |
712bc5 |
const GValue *value,
|
|
Packit |
712bc5 |
GParamSpec *pspec)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GUPnPDIDLLiteDescriptor *descriptor;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
descriptor = GUPNP_DIDL_LITE_DESCRIPTOR (object);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
switch (property_id) {
|
|
Packit |
712bc5 |
case PROP_XML_NODE:
|
|
Packit |
712bc5 |
descriptor->priv->xml_node = g_value_get_pointer (value);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_XML_DOC:
|
|
Packit |
712bc5 |
descriptor->priv->xml_doc = g_value_dup_boxed (value);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_ID:
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_id
|
|
Packit |
712bc5 |
(descriptor,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_METADATA_TYPE:
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_metadata_type
|
|
Packit |
712bc5 |
(descriptor,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_NAME_SPACE:
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_name_space
|
|
Packit |
712bc5 |
(descriptor,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_CONTENT:
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_content
|
|
Packit |
712bc5 |
(descriptor,
|
|
Packit |
712bc5 |
g_value_get_string (value));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
default:
|
|
Packit |
712bc5 |
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_property (GObject *object,
|
|
Packit |
712bc5 |
guint property_id,
|
|
Packit |
712bc5 |
GValue *value,
|
|
Packit |
712bc5 |
GParamSpec *pspec)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GUPnPDIDLLiteDescriptor *descriptor;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
descriptor = GUPNP_DIDL_LITE_DESCRIPTOR (object);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
switch (property_id) {
|
|
Packit |
712bc5 |
case PROP_XML_NODE:
|
|
Packit |
712bc5 |
g_value_set_pointer
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_xml_node (descriptor));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_ID:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_id (descriptor));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_METADATA_TYPE:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_metadata_type
|
|
Packit |
712bc5 |
(descriptor));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_NAME_SPACE:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_name_space
|
|
Packit |
712bc5 |
(descriptor));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
case PROP_CONTENT:
|
|
Packit |
712bc5 |
g_value_set_string
|
|
Packit |
712bc5 |
(value,
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_content (descriptor));
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
default:
|
|
Packit |
712bc5 |
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
Packit |
712bc5 |
break;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_dispose (GObject *object)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GObjectClass *object_class;
|
|
Packit |
712bc5 |
GUPnPDIDLLiteDescriptorPrivate *priv;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
priv = GUPNP_DIDL_LITE_DESCRIPTOR (object)->priv;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_clear_pointer (&priv->xml_doc, xml_doc_unref);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
object_class = G_OBJECT_CLASS (gupnp_didl_lite_descriptor_parent_class);
|
|
Packit |
712bc5 |
object_class->dispose (object);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
static void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_class_init (GUPnPDIDLLiteDescriptorClass *klass)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
GObjectClass *object_class;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
object_class = G_OBJECT_CLASS (klass);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
object_class->set_property = gupnp_didl_lite_descriptor_set_property;
|
|
Packit |
712bc5 |
object_class->get_property = gupnp_didl_lite_descriptor_get_property;
|
|
Packit |
712bc5 |
object_class->dispose = gupnp_didl_lite_descriptor_dispose;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_type_class_add_private (klass,
|
|
Packit |
712bc5 |
sizeof (GUPnPDIDLLiteDescriptorPrivate));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteDescriptor:xml-node:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The pointer to desc node in XML document.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_XML_NODE,
|
|
Packit |
712bc5 |
g_param_spec_pointer ("xml-node",
|
|
Packit |
712bc5 |
"XMLNode",
|
|
Packit |
712bc5 |
"The pointer to desc node in XML"
|
|
Packit |
712bc5 |
" document.",
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_CONSTRUCT_ONLY |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteDescriptor:xml-doc:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The reference to XML document containing this object.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Internal property.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Stability: Private
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_XML_DOC,
|
|
Packit |
712bc5 |
g_param_spec_boxed ("xml-doc",
|
|
Packit |
712bc5 |
"XMLDoc",
|
|
Packit |
712bc5 |
"The reference to XML document"
|
|
Packit |
712bc5 |
" containing this object.",
|
|
Packit |
712bc5 |
xml_doc_get_type (),
|
|
Packit |
712bc5 |
G_PARAM_WRITABLE |
|
|
Packit |
712bc5 |
G_PARAM_CONSTRUCT_ONLY |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteDescriptor:name-space:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The name space associated with this descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_NAME_SPACE,
|
|
Packit |
712bc5 |
g_param_spec_string ("name-space",
|
|
Packit |
712bc5 |
"NameSpace",
|
|
Packit |
712bc5 |
"The name space associated with this"
|
|
Packit |
712bc5 |
" descriptor",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteDescriptor:id:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The ID of this descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_ID,
|
|
Packit |
712bc5 |
g_param_spec_string ("id",
|
|
Packit |
712bc5 |
"ID",
|
|
Packit |
712bc5 |
"The ID of this descriptor",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteDescriptor:metadata-type:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The type of this descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_METADATA_TYPE,
|
|
Packit |
712bc5 |
g_param_spec_string ("metadata-type",
|
|
Packit |
712bc5 |
"MetadataType",
|
|
Packit |
712bc5 |
"The metadata type of this descriptor",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* GUPnPDIDLLiteDescriptor:content:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* The content of this descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
g_object_class_install_property
|
|
Packit |
712bc5 |
(object_class,
|
|
Packit |
712bc5 |
PROP_CONTENT,
|
|
Packit |
712bc5 |
g_param_spec_string ("content",
|
|
Packit |
712bc5 |
"Content",
|
|
Packit |
712bc5 |
"The content of this descriptor",
|
|
Packit |
712bc5 |
NULL,
|
|
Packit |
712bc5 |
G_PARAM_READWRITE |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NAME |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_NICK |
|
|
Packit |
712bc5 |
G_PARAM_STATIC_BLURB));
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_new:
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: A new #GUPnPDIDLLiteDescriptor object. Unref after usage.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
GUPnPDIDLLiteDescriptor *
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_new (void)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
return g_object_new (GUPNP_TYPE_DIDL_LITE_DESCRIPTOR,
|
|
Packit |
712bc5 |
NULL);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_new_from_xml:
|
|
Packit |
712bc5 |
* @xml_node: The pointer to 'desc' node in XML document
|
|
Packit |
712bc5 |
* @xml_doc: The reference to XML document containing this descriptor
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Creates a new #GUPnPDIDLLiteDescriptor for the @xml_node.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: A new #GUPnPDIDLLiteDescriptor object. Unref after usage.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
GUPnPDIDLLiteDescriptor *
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_new_from_xml (xmlNode *xml_node,
|
|
Packit |
712bc5 |
GUPnPAVXMLDoc *xml_doc)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
return g_object_new (GUPNP_TYPE_DIDL_LITE_DESCRIPTOR,
|
|
Packit |
712bc5 |
"xml-node", xml_node,
|
|
Packit |
712bc5 |
"xml-doc", xml_doc,
|
|
Packit |
712bc5 |
NULL);
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_get_xml_node:
|
|
Packit |
712bc5 |
* @descriptor: The #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the pointer to desc node in XML document.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Returns: (transfer none): The pointer to desc node in XML document.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
xmlNode *
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_xml_node (GUPnPDIDLLiteDescriptor *descriptor)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return descriptor->priv->xml_node;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_get_content:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the content of the @descriptor.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The content of the @descriptor or %NULL.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_content (GUPnPDIDLLiteDescriptor *descriptor)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return (const char *) descriptor->priv->xml_node->children;
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_get_id:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the ID of the @descriptor.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The ID string or %NULL.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_id (GUPnPDIDLLiteDescriptor *descriptor)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_attribute_content (descriptor->priv->xml_node,
|
|
Packit |
712bc5 |
"id");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_get_metadata_type:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the metadata type of the @descriptor.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The type as string or %NULL.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_metadata_type
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteDescriptor *descriptor)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_attribute_content (descriptor->priv->xml_node,
|
|
Packit |
712bc5 |
"type");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_get_name_space:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Get the name space associated with the @descriptor.
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Return value: The name space or %NULL.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
const char *
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_get_name_space (GUPnPDIDLLiteDescriptor *descriptor)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_val_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor), NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
return xml_util_get_attribute_content (descriptor->priv->xml_node,
|
|
Packit |
712bc5 |
"nameSpace");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_set_content:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
* @content: The content as string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the content of the @descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_content (GUPnPDIDLLiteDescriptor *descriptor,
|
|
Packit |
712bc5 |
const char *content)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
xmlChar *escaped;
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor));
|
|
Packit |
712bc5 |
g_return_if_fail (content != NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
escaped = xmlEncodeSpecialChars (descriptor->priv->xml_doc->doc,
|
|
Packit |
712bc5 |
(const unsigned char *) content);
|
|
Packit |
712bc5 |
xmlNodeSetContent (descriptor->priv->xml_node, escaped);
|
|
Packit |
712bc5 |
xmlFree (escaped);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (descriptor), "content");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_set_id:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
* @id: The ID as string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the ID of the @descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_id (GUPnPDIDLLiteDescriptor *descriptor,
|
|
Packit |
712bc5 |
const char *id)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor));
|
|
Packit |
712bc5 |
g_return_if_fail (id != NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlSetProp (descriptor->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "id",
|
|
Packit |
712bc5 |
(const unsigned char *) id);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (descriptor), "id");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_set_metadata_type:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
* @type: The metadata type as string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the metadata type of the @descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_metadata_type
|
|
Packit |
712bc5 |
(GUPnPDIDLLiteDescriptor *descriptor,
|
|
Packit |
712bc5 |
const char *type)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor));
|
|
Packit |
712bc5 |
g_return_if_fail (type != NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlSetProp (descriptor->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "type",
|
|
Packit |
712bc5 |
(const unsigned char *) type);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (descriptor), "metadata-type");
|
|
Packit |
712bc5 |
}
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
/**
|
|
Packit |
712bc5 |
* gupnp_didl_lite_descriptor_set_name_space:
|
|
Packit |
712bc5 |
* @descriptor: A #GUPnPDIDLLiteDescriptor
|
|
Packit |
712bc5 |
* @name_space: The name space URI as string
|
|
Packit |
712bc5 |
*
|
|
Packit |
712bc5 |
* Set the name space associated with the @descriptor.
|
|
Packit |
712bc5 |
**/
|
|
Packit |
712bc5 |
void
|
|
Packit |
712bc5 |
gupnp_didl_lite_descriptor_set_name_space (GUPnPDIDLLiteDescriptor *descriptor,
|
|
Packit |
712bc5 |
const char *name_space)
|
|
Packit |
712bc5 |
{
|
|
Packit |
712bc5 |
g_return_if_fail (GUPNP_IS_DIDL_LITE_DESCRIPTOR (descriptor));
|
|
Packit |
712bc5 |
g_return_if_fail (name_space != NULL);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
xmlSetProp (descriptor->priv->xml_node,
|
|
Packit |
712bc5 |
(unsigned char *) "nameSpace",
|
|
Packit |
712bc5 |
(const unsigned char *) name_space);
|
|
Packit |
712bc5 |
|
|
Packit |
712bc5 |
g_object_notify (G_OBJECT (descriptor), "name-space");
|
|
Packit |
712bc5 |
}
|