core: Implement LogicalExpression.satisfied_by()
authorZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Wed, 4 Nov 2009 15:19:43 +0000 (17:19 +0200)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Wed, 4 Nov 2009 15:19:43 +0000 (17:19 +0200)
src/rygel/rygel-search-expression.vala

index 01f5790..46da853 100644 (file)
@@ -115,7 +115,16 @@ public class Rygel.LogicalExpression :
                                     SearchExpression,
                                     SearchExpression> {
     public override bool satisfied_by (MediaObject media_object) {
-        return true;
+        switch (this.op) {
+        case LogicalOperator.AND:
+            return this.operand1.satisfied_by (media_object) &&
+                   this.operand2.satisfied_by (media_object);
+        case LogicalOperator.OR:
+            return this.operand1.satisfied_by (media_object) ||
+                   this.operand2.satisfied_by (media_object);
+        default:
+            return false;
+        }
     }
 
     public override string to_string () {