~ubuntu-branches/ubuntu/precise/rygel/precise

« back to all changes in this revision

Viewing changes to src/plugins/tracker/rygel-tracker-search-container.c

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Henriksson
  • Date: 2010-01-25 23:29:49 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20100125232949-0papnovs684ivp2o
Tags: 0.4.10-1
* Add recommends on gstreamer plugin sets base and ugly. (Closes: #565284)
* Imported Upstream version 0.4.10
* Exclude rygel plugins when running dh_makeshlibs

Show diffs side-by-side

added added

removed removed

Lines of Context:
274
274
}
275
275
 
276
276
 
 
277
#line 46 "rygel-tracker-search-container.vala"
277
278
RygelTrackerSearchContainer* rygel_tracker_search_container_construct (GType object_type, const char* id, RygelMediaContainer* parent, const char* title, const char* service, const char* query_condition, char** keywords, int keywords_length1) {
 
279
#line 280 "rygel-tracker-search-container.c"
278
280
        GError * _inner_error_;
279
281
        RygelTrackerSearchContainer * self;
280
282
        char* _tmp0_;
281
283
        char** _tmp2_;
282
284
        char** _tmp1_;
283
285
        char* _tmp3_;
 
286
#line 46 "rygel-tracker-search-container.vala"
284
287
        g_return_val_if_fail (id != NULL, NULL);
 
288
#line 46 "rygel-tracker-search-container.vala"
285
289
        g_return_val_if_fail (parent != NULL, NULL);
 
290
#line 46 "rygel-tracker-search-container.vala"
286
291
        g_return_val_if_fail (title != NULL, NULL);
 
292
#line 46 "rygel-tracker-search-container.vala"
287
293
        g_return_val_if_fail (service != NULL, NULL);
 
294
#line 46 "rygel-tracker-search-container.vala"
288
295
        g_return_val_if_fail (query_condition != NULL, NULL);
 
296
#line 297 "rygel-tracker-search-container.c"
289
297
        _inner_error_ = NULL;
 
298
#line 52 "rygel-tracker-search-container.vala"
290
299
        self = (RygelTrackerSearchContainer*) rygel_media_container_construct (object_type, id, parent, title, (guint) 0);
 
300
#line 54 "rygel-tracker-search-container.vala"
291
301
        self->service = (_tmp0_ = g_strdup (service), _g_free0 (self->service), _tmp0_);
 
302
#line 55 "rygel-tracker-search-container.vala"
292
303
        self->keywords = (_tmp2_ = (_tmp1_ = keywords, (_tmp1_ == NULL) ? ((gpointer) _tmp1_) : _vala_array_dup1 (_tmp1_, keywords_length1)), self->keywords = (_vala_array_free (self->keywords, self->keywords_length1, (GDestroyNotify) g_free), NULL), self->keywords_length1 = keywords_length1, _tmp2_);
 
304
#line 56 "rygel-tracker-search-container.vala"
293
305
        self->query_condition = (_tmp3_ = g_strdup (query_condition), _g_free0 (self->query_condition), _tmp3_);
 
306
#line 307 "rygel-tracker-search-container.c"
294
307
        {
 
308
#line 59 "rygel-tracker-search-container.vala"
295
309
                rygel_tracker_search_container_create_proxies (self, &_inner_error_);
 
310
#line 311 "rygel-tracker-search-container.c"
296
311
                if (_inner_error_ != NULL) {
297
312
                        if (_inner_error_->domain == DBUS_GERROR) {
298
313
                                goto __catch4_dbus_gerror;
299
314
                        }
300
315
                        goto __finally4;
301
316
                }
 
317
#line 64 "rygel-tracker-search-container.vala"
302
318
                rygel_tracker_search_container_get_children_count (self, NULL, NULL);
 
319
#line 320 "rygel-tracker-search-container.c"
303
320
        }
304
321
        goto __finally4;
305
322
        __catch4_dbus_gerror:
308
325
                _error_ = _inner_error_;
309
326
                _inner_error_ = NULL;
310
327
                {
 
328
#line 66 "rygel-tracker-search-container.vala"
311
329
                        g_critical ("rygel-tracker-search-container.vala:66: Failed to connect to session bus: %s\n", _error_->message);
 
330
#line 331 "rygel-tracker-search-container.c"
312
331
                        _g_error_free0 (_error_);
313
332
                }
314
333
        }
322
341
}
323
342
 
324
343
 
 
344
#line 46 "rygel-tracker-search-container.vala"
325
345
RygelTrackerSearchContainer* rygel_tracker_search_container_new (const char* id, RygelMediaContainer* parent, const char* title, const char* service, const char* query_condition, char** keywords, int keywords_length1) {
 
346
#line 46 "rygel-tracker-search-container.vala"
326
347
        return rygel_tracker_search_container_construct (RYGEL_TYPE_TRACKER_SEARCH_CONTAINER, id, parent, title, service, query_condition, keywords, keywords_length1);
 
348
#line 349 "rygel-tracker-search-container.c"
327
349
}
328
350
 
329
351
 
365
387
                case 0:
366
388
                {
367
389
                        {
 
390
#line 77 "rygel-tracker-search-container.vala"
368
391
                                if (_vala_strcmp0 (data->self->query_condition, "") != 0) {
 
392
#line 78 "rygel-tracker-search-container.vala"
369
393
                                        data->query = (data->_tmp1_ = g_strconcat (data->_tmp0_ = g_strconcat ("<rdfq:Condition>\n", data->self->query_condition, NULL), "</rdfq:Condition>", NULL), _g_free0 (data->query), data->_tmp1_);
 
394
#line 395 "rygel-tracker-search-container.c"
370
395
                                        _g_free0 (data->_tmp0_);
371
396
                                } else {
 
397
#line 82 "rygel-tracker-search-container.vala"
372
398
                                        data->query = (data->_tmp2_ = g_strdup (""), _g_free0 (data->query), data->_tmp2_);
 
399
#line 400 "rygel-tracker-search-container.c"
373
400
                                }
374
401
                                rygel_tracker_search_iface_query (data->self->search_proxy, 0, data->self->service, (data->_tmp3_ = g_new0 (char*, 0 + 1), data->_tmp3__length1 = 0, data->_tmp3_), 0, "", data->self->keywords, data->self->keywords_length1, data->query, FALSE, (data->_tmp4_ = g_new0 (char*, 0 + 1), data->_tmp4__length1 = 0, data->_tmp4_), 0, FALSE, 0, -1, rygel_tracker_search_container_get_children_count_ready, data);
375
402
                                data->_state_ = 3;
381
408
                                        goto __catch5_g_error;
382
409
                                        goto __finally5;
383
410
                                }
 
411
#line 98 "rygel-tracker-search-container.vala"
384
412
                                ((RygelMediaContainer*) data->self)->child_count = (guint) data->search_result_length1;
 
413
#line 99 "rygel-tracker-search-container.vala"
385
414
                                rygel_media_container_updated ((RygelMediaContainer*) data->self);
 
415
#line 416 "rygel-tracker-search-container.c"
386
416
                                _g_free0 (data->query);
387
417
                                data->search_result = (_vala_array_free (data->search_result, data->search_result_length1 * data->search_result_length2, (GDestroyNotify) g_free), NULL);
388
418
                        }
392
422
                                data->_error_ = data->_inner_error_;
393
423
                                data->_inner_error_ = NULL;
394
424
                                {
 
425
#line 101 "rygel-tracker-search-container.vala"
395
426
                                        g_critical ("rygel-tracker-search-container.vala:101: error getting items under service '%s': %s", data->self->service, data->_error_->message);
 
427
#line 428 "rygel-tracker-search-container.c"
396
428
                                        _g_error_free0 (data->_error_);
397
429
                                        {
398
430
                                                if (data->_state_ == 0) {
483
515
                case 0:
484
516
                {
485
517
                        data->expression = rygel_relational_expression_new ();
 
518
#line 115 "rygel-tracker-search-container.vala"
486
519
                        ((RygelSearchExpression*) data->expression)->op = GINT_TO_POINTER (GUPNP_SEARCH_CRITERIA_OP_EQ);
 
520
#line 116 "rygel-tracker-search-container.vala"
487
521
                        ((RygelSearchExpression*) data->expression)->operand1 = (data->_tmp0_ = g_strdup ("@parentID"), _g_free0 (((RygelSearchExpression*) data->expression)->operand1), data->_tmp0_);
 
522
#line 117 "rygel-tracker-search-container.vala"
488
523
                        ((RygelSearchExpression*) data->expression)->operand2 = (data->_tmp1_ = g_strdup (((RygelMediaObject*) data->self)->id), _g_free0 (((RygelSearchExpression*) data->expression)->operand2), data->_tmp1_);
 
524
#line 525 "rygel-tracker-search-container.c"
489
525
                        rygel_media_container_search ((RygelMediaContainer*) data->self, (RygelSearchExpression*) data->expression, data->offset, data->max_count, data->cancellable, rygel_tracker_search_container_get_children_ready, data);
490
526
                        data->_state_ = 4;
491
527
                        return FALSE;
593
629
                {
594
630
                        data->query = rygel_tracker_search_container_create_query_from_expression (data->self, data->expression);
595
631
                        data->results = gee_array_list_new (RYGEL_TYPE_MEDIA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
 
632
#line 138 "rygel-tracker-search-container.vala"
596
633
                        if (data->query == NULL) {
 
634
#line 635 "rygel-tracker-search-container.c"
597
635
                                data->result = (GeeList*) data->results;
598
636
                                _g_free0 (data->query);
599
637
                                {
632
670
                                data->i = (guint) 0;
633
671
                                {
634
672
                                        data->_tmp7_ = TRUE;
 
673
#line 164 "rygel-tracker-search-container.vala"
635
674
                                        while (TRUE) {
 
675
#line 164 "rygel-tracker-search-container.vala"
636
676
                                                if (!data->_tmp7_) {
 
677
#line 164 "rygel-tracker-search-container.vala"
637
678
                                                        data->i++;
 
679
#line 680 "rygel-tracker-search-container.c"
638
680
                                                }
 
681
#line 164 "rygel-tracker-search-container.vala"
639
682
                                                data->_tmp7_ = FALSE;
 
683
#line 164 "rygel-tracker-search-container.vala"
640
684
                                                if (!(data->i < data->search_result_length1)) {
 
685
#line 164 "rygel-tracker-search-container.vala"
641
686
                                                        break;
 
687
#line 688 "rygel-tracker-search-container.c"
642
688
                                                }
643
689
                                                data->path = g_strdup (data->search_result[(data->i * data->search_result_length2) + 0]);
644
690
                                                data->service = g_strdup (data->search_result[(data->i * data->search_result_length2) + 1]);
664
710
                                                                return FALSE;
665
711
                                                        }
666
712
                                                }
 
713
#line 170 "rygel-tracker-search-container.vala"
667
714
                                                gee_abstract_collection_add ((GeeAbstractCollection*) data->results, (RygelMediaObject*) data->item);
 
715
#line 716 "rygel-tracker-search-container.c"
668
716
                                                _g_free0 (data->path);
669
717
                                                _g_free0 (data->service);
670
718
                                                data->metadata = (_vala_array_free (data->metadata, data->metadata_length1, (GDestroyNotify) g_free), NULL);
672
720
                                        }
673
721
                                }
674
722
                        }
 
723
#line 173 "rygel-tracker-search-container.vala"
675
724
                        data->total_matches = (guint) gee_collection_get_size ((GeeCollection*) data->results);
 
725
#line 726 "rygel-tracker-search-container.c"
676
726
                        data->result = (GeeList*) data->results;
677
727
                        _g_free0 (data->query);
678
728
                        data->keys = (_vala_array_free (data->keys, data->keys_length1, (GDestroyNotify) g_free), NULL);
704
754
}
705
755
 
706
756
 
 
757
#line 178 "rygel-tracker-search-container.vala"
707
758
static char* rygel_tracker_search_container_create_query_from_expression (RygelTrackerSearchContainer* self, RygelSearchExpression* expression) {
 
759
#line 760 "rygel-tracker-search-container.c"
708
760
        char* result;
709
761
        char* query;
710
762
        gboolean _tmp0_ = FALSE;
712
764
        RygelRelationalExpression* rel_expression;
713
765
        char* query_op;
714
766
        gboolean _tmp2_ = FALSE;
 
767
#line 178 "rygel-tracker-search-container.vala"
715
768
        g_return_val_if_fail (self != NULL, NULL);
 
769
#line 178 "rygel-tracker-search-container.vala"
716
770
        g_return_val_if_fail (expression != NULL, NULL);
 
771
#line 179 "rygel-tracker-search-container.vala"
717
772
        query = NULL;
 
773
#line 181 "rygel-tracker-search-container.vala"
718
774
        if (expression == NULL) {
 
775
#line 181 "rygel-tracker-search-container.vala"
719
776
                _tmp0_ = TRUE;
 
777
#line 778 "rygel-tracker-search-container.c"
720
778
        } else {
 
779
#line 181 "rygel-tracker-search-container.vala"
721
780
                _tmp0_ = !RYGEL_IS_RELATIONAL_EXPRESSION (expression);
 
781
#line 782 "rygel-tracker-search-container.c"
722
782
        }
 
783
#line 181 "rygel-tracker-search-container.vala"
723
784
        if (_tmp0_) {
 
785
#line 786 "rygel-tracker-search-container.c"
724
786
                result = query;
 
787
#line 182 "rygel-tracker-search-container.vala"
725
788
                return result;
 
789
#line 790 "rygel-tracker-search-container.c"
726
790
        }
 
791
#line 185 "rygel-tracker-search-container.vala"
727
792
        rel_expression = _rygel_search_expression_ref0 ((_tmp1_ = expression, RYGEL_IS_RELATIONAL_EXPRESSION (_tmp1_) ? ((RygelRelationalExpression*) _tmp1_) : NULL));
 
793
#line 186 "rygel-tracker-search-container.vala"
728
794
        query_op = rygel_tracker_search_container_get_op_for_expression (self, rel_expression);
 
795
#line 188 "rygel-tracker-search-container.vala"
729
796
        if (_vala_strcmp0 ((const char*) ((RygelSearchExpression*) rel_expression)->operand1, "@id") == 0) {
 
797
#line 188 "rygel-tracker-search-container.vala"
730
798
                _tmp2_ = query_op != NULL;
 
799
#line 800 "rygel-tracker-search-container.c"
731
800
        } else {
 
801
#line 188 "rygel-tracker-search-container.vala"
732
802
                _tmp2_ = FALSE;
 
803
#line 804 "rygel-tracker-search-container.c"
733
804
        }
 
805
#line 188 "rygel-tracker-search-container.vala"
734
806
        if (_tmp2_) {
 
807
#line 808 "rygel-tracker-search-container.c"
735
808
                char* _tmp3_;
 
809
#line 189 "rygel-tracker-search-container.vala"
736
810
                query = (_tmp3_ = rygel_tracker_search_container_create_query_for_id (self, rel_expression, query_op), _g_free0 (query), _tmp3_);
 
811
#line 812 "rygel-tracker-search-container.c"
737
812
        } else {
738
813
                gboolean _tmp4_ = FALSE;
 
814
#line 190 "rygel-tracker-search-container.vala"
739
815
                if (_vala_strcmp0 ((const char*) ((RygelSearchExpression*) rel_expression)->operand1, "@parentID") == 0) {
 
816
#line 191 "rygel-tracker-search-container.vala"
740
817
                        _tmp4_ = rygel_relational_expression_compare_string (rel_expression, ((RygelMediaObject*) self)->id);
 
818
#line 819 "rygel-tracker-search-container.c"
741
819
                } else {
 
820
#line 190 "rygel-tracker-search-container.vala"
742
821
                        _tmp4_ = FALSE;
 
822
#line 823 "rygel-tracker-search-container.c"
743
823
                }
 
824
#line 190 "rygel-tracker-search-container.vala"
744
825
                if (_tmp4_) {
 
826
#line 192 "rygel-tracker-search-container.vala"
745
827
                        if (_vala_strcmp0 (self->query_condition, "") != 0) {
 
828
#line 829 "rygel-tracker-search-container.c"
746
829
                                char* _tmp6_;
747
830
                                char* _tmp5_;
 
831
#line 193 "rygel-tracker-search-container.vala"
748
832
                                query = (_tmp6_ = g_strconcat (_tmp5_ = g_strconcat ("<rdfq:Condition>\n", self->query_condition, NULL), "</rdfq:Condition>", NULL), _g_free0 (query), _tmp6_);
 
833
#line 834 "rygel-tracker-search-container.c"
749
834
                                _g_free0 (_tmp5_);
750
835
                        } else {
751
836
                                char* _tmp7_;
 
837
#line 197 "rygel-tracker-search-container.vala"
752
838
                                query = (_tmp7_ = g_strdup (""), _g_free0 (query), _tmp7_);
 
839
#line 840 "rygel-tracker-search-container.c"
753
840
                        }
754
841
                }
755
842
        }
756
843
        result = query;
757
844
        _rygel_search_expression_unref0 (rel_expression);
758
845
        _g_free0 (query_op);
 
846
#line 201 "rygel-tracker-search-container.vala"
759
847
        return result;
 
848
#line 849 "rygel-tracker-search-container.c"
760
849
}
761
850
 
762
851
 
 
852
#line 204 "rygel-tracker-search-container.vala"
763
853
static char* rygel_tracker_search_container_create_query_for_id (RygelTrackerSearchContainer* self, RygelRelationalExpression* expression, const char* query_op) {
 
854
#line 855 "rygel-tracker-search-container.c"
764
855
        char* result;
765
856
        char* query;
766
857
        char* parent_id;
774
865
        char* path;
775
866
        gboolean _tmp6_ = FALSE;
776
867
        gboolean _tmp7_ = FALSE;
 
868
#line 204 "rygel-tracker-search-container.vala"
777
869
        g_return_val_if_fail (self != NULL, NULL);
 
870
#line 204 "rygel-tracker-search-container.vala"
778
871
        g_return_val_if_fail (expression != NULL, NULL);
 
872
#line 204 "rygel-tracker-search-container.vala"
779
873
        g_return_val_if_fail (query_op != NULL, NULL);
 
874
#line 206 "rygel-tracker-search-container.vala"
780
875
        query = NULL;
 
876
#line 877 "rygel-tracker-search-container.c"
781
877
        parent_id = NULL;
782
878
        service = NULL;
 
879
#line 210 "rygel-tracker-search-container.vala"
783
880
        path = (_tmp4_ = (_tmp1_ = rygel_tracker_search_container_get_item_info (self, (const char*) ((RygelSearchExpression*) expression)->operand2, &_tmp0_, &_tmp3_), parent_id = (_tmp2_ = _tmp0_, _g_free0 (parent_id), _tmp2_), _tmp1_), service = (_tmp5_ = _tmp3_, _g_free0 (service), _tmp5_), _tmp4_);
 
881
#line 214 "rygel-tracker-search-container.vala"
784
882
        if (path != NULL) {
 
883
#line 214 "rygel-tracker-search-container.vala"
785
884
                _tmp7_ = parent_id != NULL;
 
885
#line 886 "rygel-tracker-search-container.c"
786
886
        } else {
 
887
#line 214 "rygel-tracker-search-container.vala"
787
888
                _tmp7_ = FALSE;
 
889
#line 890 "rygel-tracker-search-container.c"
788
890
        }
 
891
#line 214 "rygel-tracker-search-container.vala"
789
892
        if (_tmp7_) {
 
893
#line 214 "rygel-tracker-search-container.vala"
790
894
                _tmp6_ = _vala_strcmp0 (parent_id, ((RygelMediaObject*) self)->id) == 0;
 
895
#line 896 "rygel-tracker-search-container.c"
791
896
        } else {
 
897
#line 214 "rygel-tracker-search-container.vala"
792
898
                _tmp6_ = FALSE;
 
899
#line 900 "rygel-tracker-search-container.c"
793
900
        }
 
901
#line 214 "rygel-tracker-search-container.vala"
794
902
        if (_tmp6_) {
 
903
#line 904 "rygel-tracker-search-container.c"
795
904
                char* dir;
796
905
                char* basename;
797
906
                char* _tmp28_;
817
926
                char* _tmp8_;
818
927
                char* _tmp29_;
819
928
                char* search_condition;
 
929
#line 215 "rygel-tracker-search-container.vala"
820
930
                dir = g_path_get_dirname (path);
 
931
#line 216 "rygel-tracker-search-container.vala"
821
932
                basename = g_path_get_basename (path);
 
933
#line 218 "rygel-tracker-search-container.vala"
822
934
                search_condition = (_tmp29_ = g_strconcat (_tmp28_ = g_strconcat (_tmp27_ = g_strconcat (_tmp26_ = g_strconcat (_tmp25_ = g_strconcat (_tmp24_ = g_strconcat (_tmp23_ = g_strconcat (_tmp22_ = g_strconcat (_tmp21_ = g_strconcat (_tmp20_ = g_strconcat (_tmp19_ = g_strconcat (_tmp18_ = g_strconcat (_tmp17_ = g_strconcat (_tmp16_ = g_strconcat (_tmp15_ = g_strconcat (_tmp14_ = g_strconcat (_tmp13_ = g_strconcat (_tmp12_ = g_strconcat (_tmp11_ = g_strconcat (_tmp10_ = g_strconcat (_tmp9_ = g_strconcat (_tmp8_ = g_strconcat ("<rdfq:and>\n" "<", query_op, NULL), ">\n", NULL), "<rdfq:Property ", NULL), "name=\"File:Path\" />\n", NULL), "<rdf:String>", NULL), dir, NULL), "</rdf:String>\n", NULL), "</", NULL), query_op, NULL), ">\n", NULL), "<", NULL), query_op, NULL), ">\n", NULL), "<rdfq:Property ", NULL), "name=\"File:Name\" />\n", NULL), "<rdf:String>", NULL), basename, NULL), "</rdf:String>\n", NULL), "</", NULL), query_op, NULL), ">\n", NULL), "</rdfq:and>\n", NULL), _g_free0 (_tmp28_), _g_free0 (_tmp27_), _g_free0 (_tmp26_), _g_free0 (_tmp25_), _g_free0 (_tmp24_), _g_free0 (_tmp23_), _g_free0 (_tmp22_), _g_free0 (_tmp21_), _g_free0 (_tmp20_), _g_free0 (_tmp19_), _g_free0 (_tmp18_), _g_free0 (_tmp17_), _g_free0 (_tmp16_), _g_free0 (_tmp15_), _g_free0 (_tmp14_), _g_free0 (_tmp13_), _g_free0 (_tmp12_), _g_free0 (_tmp11_), _g_free0 (_tmp10_), _g_free0 (_tmp9_), _g_free0 (_tmp8_), _tmp29_);
 
935
#line 235 "rygel-tracker-search-container.vala"
823
936
                if (_vala_strcmp0 (self->query_condition, "") != 0) {
 
937
#line 938 "rygel-tracker-search-container.c"
824
938
                        char* _tmp33_;
825
939
                        char* _tmp32_;
826
940
                        char* _tmp31_;
827
941
                        char* _tmp30_;
 
942
#line 236 "rygel-tracker-search-container.vala"
828
943
                        query = (_tmp33_ = g_strconcat (_tmp32_ = g_strconcat (_tmp31_ = g_strconcat (_tmp30_ = g_strconcat ("<rdfq:Condition>\n" "<rdfq:and>\n", search_condition, NULL), self->query_condition, NULL), "</rdfq:and>\n", NULL), "</rdfq:Condition>", NULL), _g_free0 (query), _tmp33_);
 
944
#line 945 "rygel-tracker-search-container.c"
829
945
                        _g_free0 (_tmp32_);
830
946
                        _g_free0 (_tmp31_);
831
947
                        _g_free0 (_tmp30_);
832
948
                } else {
833
949
                        char* _tmp35_;
834
950
                        char* _tmp34_;
 
951
#line 243 "rygel-tracker-search-container.vala"
835
952
                        query = (_tmp35_ = g_strconcat (_tmp34_ = g_strconcat ("<rdfq:Condition>\n", search_condition, NULL), "</rdfq:Condition>", NULL), _g_free0 (query), _tmp35_);
 
953
#line 954 "rygel-tracker-search-container.c"
836
954
                        _g_free0 (_tmp34_);
837
955
                }
838
956
                _g_free0 (dir);
843
961
        _g_free0 (parent_id);
844
962
        _g_free0 (service);
845
963
        _g_free0 (path);
 
964
#line 249 "rygel-tracker-search-container.vala"
846
965
        return result;
 
966
#line 967 "rygel-tracker-search-container.c"
847
967
}
848
968
 
849
969
 
 
970
#line 252 "rygel-tracker-search-container.vala"
850
971
static char* rygel_tracker_search_container_get_op_for_expression (RygelTrackerSearchContainer* self, RygelRelationalExpression* expression) {
 
972
#line 973 "rygel-tracker-search-container.c"
851
973
        char* result;
 
974
#line 252 "rygel-tracker-search-container.vala"
852
975
        g_return_val_if_fail (self != NULL, NULL);
 
976
#line 252 "rygel-tracker-search-container.vala"
853
977
        g_return_val_if_fail (expression != NULL, NULL);
 
978
#line 253 "rygel-tracker-search-container.vala"
854
979
        switch (GPOINTER_TO_INT (((RygelSearchExpression*) expression)->op)) {
 
980
#line 981 "rygel-tracker-search-container.c"
855
981
                case GUPNP_SEARCH_CRITERIA_OP_EQ:
856
982
                {
857
983
                        result = g_strdup ("rdfq:equals");
 
984
#line 255 "rygel-tracker-search-container.vala"
858
985
                        return result;
 
986
#line 987 "rygel-tracker-search-container.c"
859
987
                }
860
988
                case GUPNP_SEARCH_CRITERIA_OP_CONTAINS:
861
989
                {
862
990
                        result = g_strdup ("rdfq:contains");
 
991
#line 257 "rygel-tracker-search-container.vala"
863
992
                        return result;
 
993
#line 994 "rygel-tracker-search-container.c"
864
994
                }
865
995
                default:
866
996
                {
867
997
                        result = NULL;
 
998
#line 259 "rygel-tracker-search-container.vala"
868
999
                        return result;
 
1000
#line 1001 "rygel-tracker-search-container.c"
869
1001
                }
870
1002
        }
871
1003
}
872
1004
 
873
1005
 
 
1006
#line 263 "rygel-tracker-search-container.vala"
874
1007
static RygelMediaItem* rygel_tracker_search_container_create_item (RygelTrackerSearchContainer* self, const char* service, const char* path, char** metadata, int metadata_length1, GError** error) {
 
1008
#line 1009 "rygel-tracker-search-container.c"
875
1009
        RygelMediaItem* result;
876
1010
        GError * _inner_error_;
877
1011
        char* _tmp2_;
879
1013
        char* _tmp0_;
880
1014
        char* _tmp3_;
881
1015
        char* id;
 
1016
#line 263 "rygel-tracker-search-container.vala"
882
1017
        g_return_val_if_fail (self != NULL, NULL);
 
1018
#line 263 "rygel-tracker-search-container.vala"
883
1019
        g_return_val_if_fail (service != NULL, NULL);
 
1020
#line 263 "rygel-tracker-search-container.vala"
884
1021
        g_return_val_if_fail (path != NULL, NULL);
 
1022
#line 1023 "rygel-tracker-search-container.c"
885
1023
        _inner_error_ = NULL;
 
1024
#line 267 "rygel-tracker-search-container.vala"
886
1025
        id = (_tmp3_ = g_strconcat (_tmp2_ = g_strconcat (_tmp1_ = g_strconcat (_tmp0_ = g_strconcat (service, ":", NULL), ((RygelMediaObject*) self)->id, NULL), ":", NULL), path, NULL), _g_free0 (_tmp2_), _g_free0 (_tmp1_), _g_free0 (_tmp0_), _tmp3_);
 
1026
#line 269 "rygel-tracker-search-container.vala"
887
1027
        if (_vala_strcmp0 (service, RYGEL_TRACKER_VIDEO_ITEM_SERVICE) == 0) {
 
1028
#line 1029 "rygel-tracker-search-container.c"
888
1029
                RygelTrackerVideoItem* _tmp4_;
 
1030
#line 270 "rygel-tracker-search-container.vala"
889
1031
                _tmp4_ = rygel_tracker_video_item_new (id, path, self, metadata, metadata_length1, &_inner_error_);
 
1032
#line 1033 "rygel-tracker-search-container.c"
890
1033
                if (_inner_error_ != NULL) {
891
1034
                        g_propagate_error (error, _inner_error_);
892
1035
                        _g_free0 (id);
894
1037
                }
895
1038
                result = (RygelMediaItem*) _tmp4_;
896
1039
                _g_free0 (id);
 
1040
#line 270 "rygel-tracker-search-container.vala"
897
1041
                return result;
 
1042
#line 1043 "rygel-tracker-search-container.c"
898
1043
        } else {
 
1044
#line 274 "rygel-tracker-search-container.vala"
899
1045
                if (_vala_strcmp0 (service, RYGEL_TRACKER_IMAGE_ITEM_SERVICE) == 0) {
 
1046
#line 1047 "rygel-tracker-search-container.c"
900
1047
                        RygelTrackerImageItem* _tmp5_;
 
1048
#line 275 "rygel-tracker-search-container.vala"
901
1049
                        _tmp5_ = rygel_tracker_image_item_new (id, path, self, metadata, metadata_length1, &_inner_error_);
 
1050
#line 1051 "rygel-tracker-search-container.c"
902
1051
                        if (_inner_error_ != NULL) {
903
1052
                                g_propagate_error (error, _inner_error_);
904
1053
                                _g_free0 (id);
906
1055
                        }
907
1056
                        result = (RygelMediaItem*) _tmp5_;
908
1057
                        _g_free0 (id);
 
1058
#line 275 "rygel-tracker-search-container.vala"
909
1059
                        return result;
 
1060
#line 1061 "rygel-tracker-search-container.c"
910
1061
                } else {
 
1062
#line 279 "rygel-tracker-search-container.vala"
911
1063
                        if (_vala_strcmp0 (service, RYGEL_TRACKER_MUSIC_ITEM_SERVICE) == 0) {
 
1064
#line 1065 "rygel-tracker-search-container.c"
912
1065
                                RygelTrackerMusicItem* _tmp6_;
 
1066
#line 280 "rygel-tracker-search-container.vala"
913
1067
                                _tmp6_ = rygel_tracker_music_item_new (id, path, self, metadata, metadata_length1, &_inner_error_);
 
1068
#line 1069 "rygel-tracker-search-container.c"
914
1069
                                if (_inner_error_ != NULL) {
915
1070
                                        g_propagate_error (error, _inner_error_);
916
1071
                                        _g_free0 (id);
918
1073
                                }
919
1074
                                result = (RygelMediaItem*) _tmp6_;
920
1075
                                _g_free0 (id);
 
1076
#line 280 "rygel-tracker-search-container.vala"
921
1077
                                return result;
 
1078
#line 1079 "rygel-tracker-search-container.c"
922
1079
                        } else {
923
1080
                                result = NULL;
924
1081
                                _g_free0 (id);
 
1082
#line 285 "rygel-tracker-search-container.vala"
925
1083
                                return result;
 
1084
#line 1085 "rygel-tracker-search-container.c"
926
1085
                        }
927
1086
                }
928
1087
        }
930
1089
}
931
1090
 
932
1091
 
 
1092
#line 291 "rygel-tracker-search-container.vala"
933
1093
static char* rygel_tracker_search_container_get_item_info (RygelTrackerSearchContainer* self, const char* item_id, char** parent_id, char** service) {
 
1094
#line 1095 "rygel-tracker-search-container.c"
934
1095
        char* result;
935
1096
        char** _tmp1_;
936
1097
        gint tokens_size;
939
1100
        char** tokens;
940
1101
        gboolean _tmp2_ = FALSE;
941
1102
        gboolean _tmp3_ = FALSE;
 
1103
#line 291 "rygel-tracker-search-container.vala"
942
1104
        g_return_val_if_fail (self != NULL, NULL);
 
1105
#line 291 "rygel-tracker-search-container.vala"
943
1106
        g_return_val_if_fail (item_id != NULL, NULL);
 
1107
#line 1108 "rygel-tracker-search-container.c"
944
1108
        if (parent_id != NULL) {
945
1109
                *parent_id = NULL;
946
1110
        }
948
1112
                *service = NULL;
949
1113
        }
950
1114
        tokens = (_tmp1_ = _tmp0_ = g_strsplit (item_id, ":", 3), tokens_length1 = _vala_array_length (_tmp0_), tokens_size = tokens_length1, _tmp1_);
 
1115
#line 296 "rygel-tracker-search-container.vala"
951
1116
        if (tokens[0] != NULL) {
 
1117
#line 296 "rygel-tracker-search-container.vala"
952
1118
                _tmp3_ = tokens[1] != NULL;
 
1119
#line 1120 "rygel-tracker-search-container.c"
953
1120
        } else {
 
1121
#line 296 "rygel-tracker-search-container.vala"
954
1122
                _tmp3_ = FALSE;
 
1123
#line 1124 "rygel-tracker-search-container.c"
955
1124
        }
 
1125
#line 296 "rygel-tracker-search-container.vala"
956
1126
        if (_tmp3_) {
 
1127
#line 296 "rygel-tracker-search-container.vala"
957
1128
                _tmp2_ = tokens[2] != NULL;
 
1129
#line 1130 "rygel-tracker-search-container.c"
958
1130
        } else {
 
1131
#line 296 "rygel-tracker-search-container.vala"
959
1132
                _tmp2_ = FALSE;
 
1133
#line 1134 "rygel-tracker-search-container.c"
960
1134
        }
 
1135
#line 296 "rygel-tracker-search-container.vala"
961
1136
        if (_tmp2_) {
 
1137
#line 1138 "rygel-tracker-search-container.c"
962
1138
                char* _tmp4_;
963
1139
                char* _tmp5_;
 
1140
#line 297 "rygel-tracker-search-container.vala"
964
1141
                *service = (_tmp4_ = g_strdup (tokens[0]), _g_free0 (*service), _tmp4_);
 
1142
#line 298 "rygel-tracker-search-container.vala"
965
1143
                *parent_id = (_tmp5_ = g_strdup (tokens[1]), _g_free0 (*parent_id), _tmp5_);
 
1144
#line 1145 "rygel-tracker-search-container.c"
966
1145
                result = g_strdup (tokens[2]);
967
1146
                tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
 
1147
#line 300 "rygel-tracker-search-container.vala"
968
1148
                return result;
 
1149
#line 1150 "rygel-tracker-search-container.c"
969
1150
        } else {
970
1151
                result = NULL;
971
1152
                tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
 
1153
#line 302 "rygel-tracker-search-container.vala"
972
1154
                return result;
 
1155
#line 1156 "rygel-tracker-search-container.c"
973
1156
        }
974
1157
        tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
975
1158
}
976
1159
 
977
1160
 
 
1161
#line 306 "rygel-tracker-search-container.vala"
978
1162
static void rygel_tracker_search_container_create_proxies (RygelTrackerSearchContainer* self, GError** error) {
 
1163
#line 1164 "rygel-tracker-search-container.c"
979
1164
        GError * _inner_error_;
980
1165
        DBusGConnection* connection;
981
1166
        RygelTrackerSearchIface* _tmp0_;
 
1167
#line 306 "rygel-tracker-search-container.vala"
982
1168
        g_return_if_fail (self != NULL);
 
1169
#line 1170 "rygel-tracker-search-container.c"
983
1170
        _inner_error_ = NULL;
 
1171
#line 307 "rygel-tracker-search-container.vala"
984
1172
        connection = dbus_g_bus_get (DBUS_BUS_SESSION, &_inner_error_);
 
1173
#line 1174 "rygel-tracker-search-container.c"
985
1174
        if (_inner_error_ != NULL) {
986
1175
                if (_inner_error_->domain == DBUS_GERROR) {
987
1176
                        g_propagate_error (error, _inner_error_);
992
1181
                        return;
993
1182
                }
994
1183
        }
 
1184
#line 309 "rygel-tracker-search-container.vala"
995
1185
        self->search_proxy = (_tmp0_ = rygel_tracker_search_iface_dbus_proxy_new (connection, RYGEL_TRACKER_SEARCH_CONTAINER_TRACKER_SERVICE, RYGEL_TRACKER_SEARCH_CONTAINER_SEARCH_PATH), _g_object_unref0 (self->search_proxy), _tmp0_);
 
1186
#line 1187 "rygel-tracker-search-container.c"
996
1187
        _dbus_g_connection_unref0 (connection);
997
1188
}
998
1189
 
999
1190
 
 
1191
#line 323 "rygel-tracker-search-container.vala"
1000
1192
static char** rygel_tracker_search_container_slice_strvv_tail (RygelTrackerSearchContainer* self, char** strvv, int strvv_length1, int strvv_length2, guint row, guint index, int* result_length1) {
 
1193
#line 1194 "rygel-tracker-search-container.c"
1001
1194
        char** result;
1002
1195
        char** _tmp1_;
1003
1196
        gint slice_size;
1005
1198
        gint _tmp0_;
1006
1199
        char** slice;
1007
1200
        char** _tmp4_;
 
1201
#line 323 "rygel-tracker-search-container.vala"
1008
1202
        g_return_val_if_fail (self != NULL, NULL);
 
1203
#line 1204 "rygel-tracker-search-container.c"
1009
1204
        slice = (_tmp1_ = g_new0 (char*, (_tmp0_ = strvv_length2 - index) + 1), slice_length1 = _tmp0_, slice_size = slice_length1, _tmp1_);
1010
1205
        {
1011
1206
                gint i;
 
1207
#line 326 "rygel-tracker-search-container.vala"
1012
1208
                i = 0;
 
1209
#line 1210 "rygel-tracker-search-container.c"
1013
1210
                {
1014
1211
                        gboolean _tmp2_;
 
1212
#line 326 "rygel-tracker-search-container.vala"
1015
1213
                        _tmp2_ = TRUE;
 
1214
#line 326 "rygel-tracker-search-container.vala"
1016
1215
                        while (TRUE) {
 
1216
#line 1217 "rygel-tracker-search-container.c"
1017
1217
                                char* _tmp3_;
 
1218
#line 326 "rygel-tracker-search-container.vala"
1018
1219
                                if (!_tmp2_) {
 
1220
#line 326 "rygel-tracker-search-container.vala"
1019
1221
                                        i++;
 
1222
#line 1223 "rygel-tracker-search-container.c"
1020
1223
                                }
 
1224
#line 326 "rygel-tracker-search-container.vala"
1021
1225
                                _tmp2_ = FALSE;
 
1226
#line 326 "rygel-tracker-search-container.vala"
1022
1227
                                if (!(i < slice_length1)) {
 
1228
#line 326 "rygel-tracker-search-container.vala"
1023
1229
                                        break;
 
1230
#line 1231 "rygel-tracker-search-container.c"
1024
1231
                                }
 
1232
#line 327 "rygel-tracker-search-container.vala"
1025
1233
                                slice[i] = (_tmp3_ = g_strdup (strvv[(row * strvv_length2) + (i + index)]), _g_free0 (slice[i]), _tmp3_);
 
1234
#line 1235 "rygel-tracker-search-container.c"
1026
1235
                        }
1027
1236
                }
1028
1237
        }
1029
1238
        result = (_tmp4_ = slice, *result_length1 = slice_length1, _tmp4_);
 
1239
#line 330 "rygel-tracker-search-container.vala"
1030
1240
        return result;
 
1241
#line 1242 "rygel-tracker-search-container.c"
1031
1242
        slice = (_vala_array_free (slice, slice_length1, (GDestroyNotify) g_free), NULL);
1032
1243
}
1033
1244