From: Zeeshan Ali (Khattak) Date: Thu, 12 Nov 2009 15:43:30 +0000 (+0200) Subject: tracker: RDF op based on SearchExpression op X-Git-Tag: RYGEL_0_4_6~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6ecfc39c59d25bda9a599bd4c62430d66fa8f23;p=profile%2Fivi%2Frygel.git tracker: RDF op based on SearchExpression op Create RDF query operator from SearchExpression operator. --- diff --git a/src/plugins/tracker/rygel-tracker-search-container.vala b/src/plugins/tracker/rygel-tracker-search-container.vala index 91eafc4..1b057b2 100644 --- a/src/plugins/tracker/rygel-tracker-search-container.vala +++ b/src/plugins/tracker/rygel-tracker-search-container.vala @@ -209,7 +209,9 @@ public class Rygel.TrackerSearchContainer : Rygel.MediaContainer { } var rel_expression = expression as RelationalExpression; - if (rel_expression.operand1 == "@id") { + var query_op = this.get_op_for_expression (rel_expression); + + if (rel_expression.operand1 == "@id" && query_op != null) { string parent_id; string service; @@ -222,20 +224,20 @@ public class Rygel.TrackerSearchContainer : Rygel.MediaContainer { var search_condition = "\n" + - "\n" + + "<" + query_op + ">\n" + "\n" + "" + dir + "\n" + - "\n" + - "\n" + + "\n" + + "<" + query_op + ">\n" + "\n" + "" + basename + "\n" + - "\n" + + "\n" + "\n"; if (this.query_condition != "") { @@ -265,6 +267,17 @@ public class Rygel.TrackerSearchContainer : Rygel.MediaContainer { return query; } + private string? get_op_for_expression (RelationalExpression expression) { + switch (expression.op) { + case SearchCriteriaOp.EQ: + return "rdfq:equals"; + case SearchCriteriaOp.CONTAINS: + return "rdfq:contains"; + default: + return null; + } + } + public MediaItem? create_item (string service, string path, string[] metadata)