}
var triplets = new QueryTriplets ();
- triplets.add (new QueryTriplet (QUERY_ID, "a", "nfo:Media"));
+ triplets.add (new QueryTriplet (QUERY_ID, "a", category));
triplets.add (new QueryTriplet (QUERY_ID, "a", type));
triplets.add (new QueryTriplet (QUERY_ID, "nmm:uPnPShared", "true"));
triplets.add (new QueryTriplet (QUERY_ID, "tracker:available", "true"));
uint offset,
uint max_count,
out uint total_matches,
- Cancellable? cancellable,
- bool generic_type = false)
+ Cancellable? cancellable)
throws GLib.Error {
var results = new MediaObjects ();
var query = this.create_query (expression as RelationalExpression,
(int) offset,
- (int) max_count,
- generic_type);
-
+ (int) max_count);
if (query != null) {
yield query.execute (this.resources);
0,
1,
out total_matches,
- cancellable,
- true);
+ cancellable);
if (results.size > 0) {
return results[0];
} else {
private SelectionQuery? create_query (RelationalExpression? expression,
int offset,
- int max_count,
- bool generic_type) {
+ int max_count) {
if (expression.operand1 == "upnp:class" &&
!this.item_factory.upnp_class.has_prefix (expression.operand2)) {
return null;
}
}
- // Drop to generic RDF type for find_object
- if (generic_type) {
- foreach (var triplet in query.triplets) {
- if (triplet.predicate == "a" &&
- triplet.obj.has_prefix ("nmm:")) {
- triplet.obj = "nfo:Media";
- }
- }
- }
-
query.offset = offset;
query.max_count = max_count;