media-db: Query object meta-data by search expression
authorJens Georg <mail@jensge.org>
Sat, 30 Jan 2010 21:07:10 +0000 (22:07 +0100)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Sun, 14 Mar 2010 22:34:54 +0000 (00:34 +0200)
src/rygel/rygel-media-db.vala

index 285b442..830674d 100644 (file)
@@ -925,4 +925,27 @@ public class Rygel.MediaDB : Object {
 
         return data;
     }
+
+    public Gee.List<string> get_object_attribute_by_search_expression (
+                                       string           attribute,
+                                       SearchExpression expression,
+                                       long             offset,
+                                       long             max_count) throws Error {
+        var args = new ValueArray (0);
+        var filter = this.search_expression_to_sql (expression, args);
+        if (filter != null) {
+            filter = " WHERE %s ".printf (filter);
+        } else {
+            filter = "";
+        }
+
+        debug ("Parsed filter: %s", filter);
+
+        var column = this.map_operand_to_column (attribute);
+        return this.get_meta_data_column_by_filter (column,
+                                                    filter,
+                                                    args,
+                                                    offset,
+                                                    max_count);
+    }
 }