summaryrefslogtreecommitdiff
path: root/src/grl-caps.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/grl-caps.c')
-rw-r--r--src/grl-caps.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/grl-caps.c b/src/grl-caps.c
index 4e9368f..00c185e 100644
--- a/src/grl-caps.c
+++ b/src/grl-caps.c
@@ -56,6 +56,7 @@
struct _GrlCapsPrivate {
GHashTable *data;
GrlTypeFilter type_filter;
+ GrlRemoveFlags remove_flags;
GList *key_filter;
GList *key_range_filter;
};
@@ -90,6 +91,7 @@ grl_caps_init (GrlCaps *self)
self->priv->type_filter = GRL_TYPE_FILTER_NONE;
self->priv->key_filter = NULL;
self->priv->key_range_filter = NULL;
+ self->priv->remove_flags = GRL_REMOVE_FLAG_UNKNOWN;
}
static void
@@ -195,6 +197,39 @@ grl_caps_set_type_filter (GrlCaps *caps, GrlTypeFilter filter)
}
/**
+ * grl_caps_get_remove_flags:
+ * @caps: a #GrlCaps instance
+ *
+ * Returns: the supported #GrlRemoveFlags
+ *
+ * Since: 0.2.0
+ **/
+GrlRemoveFlags
+grl_caps_get_remove_flags (GrlCaps *caps)
+{
+ g_return_val_if_fail (caps != NULL, GRL_REMOVE_FLAG_UNKNOWN);
+
+ return caps->priv->remove_flags;
+}
+
+/**
+ * grl_caps_set_remove_flags:
+ * @caps: a #GrlCaps instance
+ * @remove_flags: a #GrlRemoveFlags
+ *
+ * Sets the supported remove capability.
+ *
+ * Since: 0.2.0
+ **/
+void
+grl_caps_set_remove_flags (GrlCaps *caps, GrlRemoveFlags remove_flags)
+{
+ g_return_if_fail (caps != NULL);
+
+ caps->priv->remove_flags = remove_flags;
+}
+
+/**
* grl_caps_get_key_filter:
* @caps: a #GrlCaps instance
*