[gupnp-av] Make DIDL-Lite check less restrictive
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gupnp-av] Make DIDL-Lite check less restrictive
- Date: Fri, 1 Jan 2016 11:55:34 +0000 (UTC)
commit 9d65132d4987d6ae717dac92196307e7db983f42
Author: Jens Georg <mail jensge org>
Date: Thu Nov 5 16:07:51 2015 +0100
Make DIDL-Lite check less restrictive
Only check for validity of @restricted if present, but not its presence
Signed-off-by: Jens Georg <mail jensge org>
https://bugzilla.gnome.org/show_bug.cgi?id=740266
doc/gupnp-av-sections.txt | 1 +
libgupnp-av/gupnp-didl-lite-object.c | 18 ++++++++++++++++++
libgupnp-av/gupnp-didl-lite-object.h | 3 +++
libgupnp-av/gupnp-didl-lite-parser.c | 7 ++++++-
4 files changed, 28 insertions(+), 1 deletions(-)
---
diff --git a/doc/gupnp-av-sections.txt b/doc/gupnp-av-sections.txt
index 2d1580e..be5d34f 100644
--- a/doc/gupnp-av-sections.txt
+++ b/doc/gupnp-av-sections.txt
@@ -66,6 +66,7 @@ gupnp_didl_lite_object_set_update_id
gupnp_didl_lite_object_unset_artists
gupnp_didl_lite_object_unset_update_id
gupnp_didl_lite_object_update_id_is_set
+gupnp_didl_lite_object_is_restricted_set
<SUBSECTION Standard>
GUPnPDIDLLiteObjectClass
GUPNP_TYPE_OCM_FLAGS
diff --git a/libgupnp-av/gupnp-didl-lite-object.c b/libgupnp-av/gupnp-didl-lite-object.c
index 9d669d7..cf73061 100644
--- a/libgupnp-av/gupnp-didl-lite-object.c
+++ b/libgupnp-av/gupnp-didl-lite-object.c
@@ -1168,6 +1168,24 @@ gupnp_didl_lite_object_get_properties (GUPnPDIDLLiteObject *object,
}
/**
+ * gupnp_didl_lite_object_is_restricted_set:
+ * @object: #GUPnPDIDLLiteObject
+ *
+ * Whehter the restricted attribute exists on @object
+ *
+ * Return value: #TRUE if restricted exists, #FALSE otherwise.
+ **/
+gboolean
+gupnp_didl_lite_object_is_restricted_set (GUPnPDIDLLiteObject *object)
+{
+ g_return_val_if_fail (object != NULL, FALSE);
+ g_return_val_if_fail (GUPNP_IS_DIDL_LITE_OBJECT (object), FALSE);
+
+ return xml_util_get_attribute_content (object->priv->xml_node,
+ "restricted") != NULL;
+}
+
+/**
* gupnp_didl_lite_object_get_restricted:
* @object: #GUPnPDIDLLiteObject
*
diff --git a/libgupnp-av/gupnp-didl-lite-object.h b/libgupnp-av/gupnp-didl-lite-object.h
index d7937df..61c525a 100644
--- a/libgupnp-av/gupnp-didl-lite-object.h
+++ b/libgupnp-av/gupnp-didl-lite-object.h
@@ -111,6 +111,9 @@ gupnp_didl_lite_object_get_properties (GUPnPDIDLLiteObject *object,
const char *name);
gboolean
+gupnp_didl_lite_object_is_restricted_set (GUPnPDIDLLiteObject *object);
+
+gboolean
gupnp_didl_lite_object_get_restricted (GUPnPDIDLLiteObject *object);
const char *
diff --git a/libgupnp-av/gupnp-didl-lite-parser.c b/libgupnp-av/gupnp-didl-lite-parser.c
index cf6a6fe..3b2111f 100644
--- a/libgupnp-av/gupnp-didl-lite-parser.c
+++ b/libgupnp-av/gupnp-didl-lite-parser.c
@@ -73,7 +73,12 @@ verify_didl_attributes (xmlNode *node)
}
}
- return xml_util_verify_attribute_is_boolean (node, "restricted");
+ if (xml_util_get_attribute_content (node, "restricted") != NULL) {
+ return xml_util_verify_attribute_is_boolean (node,
+ "restricted");
+ }
+
+ return TRUE;
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]