~ubuntu-branches/ubuntu/trusty/rygel/trusty

« back to all changes in this revision

Viewing changes to src/rygel/rygel-searchable-container.c

  • Committer: Package Import Robot
  • Author(s): Andreas Henriksson
  • Date: 2011-12-16 15:21:25 UTC
  • mfrom: (14.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20111216152125-qgn31dkfmhouhrf0
Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* rygel-searchable-container.c generated by valac 0.12.0, the Vala compiler
 
1
/* rygel-searchable-container.c generated by valac 0.14.1, the Vala compiler
2
2
 * generated from rygel-searchable-container.vala, do not modify */
3
3
 
4
4
/*
30
30
#include <glib-object.h>
31
31
#include <gio/gio.h>
32
32
#include <gee.h>
33
 
#include <libgupnp-av/gupnp-av.h>
34
33
#include <stdlib.h>
35
34
#include <string.h>
 
35
#include <libgupnp-av/gupnp-av.h>
36
36
 
37
37
 
38
38
#define RYGEL_TYPE_MEDIA_OBJECT (rygel_media_object_get_type ())
126
126
        GTypeInterface parent_iface;
127
127
        void (*search) (RygelSearchableContainer* self, RygelSearchExpression* expression, guint offset, guint max_count, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
128
128
        RygelMediaObjects* (*search_finish) (RygelSearchableContainer* self, GAsyncResult* _res_, guint* total_matches, GError** error);
 
129
        GeeArrayList* (*get_search_classes) (RygelSearchableContainer* self);
 
130
        void (*set_search_classes) (RygelSearchableContainer* self, GeeArrayList* value);
129
131
};
130
132
 
131
133
struct _RygelMediaObject {
151
153
        RygelMediaContainerPrivate * priv;
152
154
        gint child_count;
153
155
        guint32 update_id;
 
156
        gint64 storage_used;
154
157
};
155
158
 
156
159
struct _RygelMediaContainerClass {
175
178
        RygelMediaObjects* result;
176
179
        RygelMediaObjects* _tmp0_;
177
180
        RygelMediaObjects* _result_;
178
 
        RygelMediaObjects* _tmp1_;
 
181
        gint _tmp1_;
 
182
        GCancellable* _tmp2_;
 
183
        RygelMediaObjects* _tmp3_;
179
184
        RygelMediaObjects* children;
180
185
        guint limit;
181
 
        gboolean _tmp2_;
182
 
        RygelMediaObjects* _tmp3_;
183
 
        RygelMediaObjects* _child_list;
184
 
        gint _tmp4_;
185
 
        gint _child_size;
186
 
        gint _child_index;
187
 
        gpointer _tmp5_;
188
 
        RygelMediaObject* child;
189
 
        gboolean _tmp6_;
 
186
        gboolean _tmp4_;
 
187
        guint _tmp5_;
 
188
        guint _tmp6_;
190
189
        gboolean _tmp7_;
191
 
        gboolean _tmp8_;
192
 
        gint _tmp9_;
193
 
        gboolean _tmp10_;
194
 
        gint _tmp11_;
195
 
        guint _tmp12_;
 
190
        guint _tmp8_;
 
191
        guint _tmp9_;
 
192
        RygelMediaObjects* _tmp10_;
 
193
        RygelMediaObjects* _tmp11_;
 
194
        RygelMediaObjects* _child_list;
 
195
        RygelMediaObjects* _tmp12_;
196
196
        gint _tmp13_;
 
197
        gint _tmp14_;
 
198
        gint _child_size;
 
199
        gint _child_index;
 
200
        gint _tmp15_;
 
201
        gint _tmp16_;
 
202
        gint _tmp17_;
 
203
        RygelMediaObjects* _tmp18_;
 
204
        gint _tmp19_;
 
205
        gpointer _tmp20_;
 
206
        RygelMediaObject* child;
 
207
        gboolean _tmp21_;
 
208
        RygelSearchExpression* _tmp22_;
 
209
        RygelSearchExpression* _tmp23_;
 
210
        RygelMediaObject* _tmp24_;
 
211
        gboolean _tmp25_;
 
212
        gboolean _tmp26_;
 
213
        RygelMediaObjects* _tmp27_;
 
214
        RygelMediaObject* _tmp28_;
 
215
        gboolean _tmp29_;
 
216
        guint _tmp30_;
 
217
        RygelMediaObjects* _tmp31_;
 
218
        gint _tmp32_;
 
219
        gint _tmp33_;
 
220
        guint _tmp34_;
 
221
        gboolean _tmp35_;
 
222
        gboolean _tmp36_;
 
223
        guint _tmp37_;
 
224
        RygelMediaObjects* _tmp38_;
 
225
        gint _tmp39_;
 
226
        gint _tmp40_;
 
227
        guint _tmp41_;
 
228
        gboolean _tmp42_;
 
229
        guint _tmp43_;
 
230
        guint _tmp44_;
 
231
        guint _tmp45_;
 
232
        RygelMediaObjects* _tmp46_;
 
233
        gint _tmp47_;
 
234
        gint _tmp48_;
 
235
        guint _tmp49_;
197
236
        guint child_limit;
198
 
        RygelMediaObjects* _tmp14_;
 
237
        RygelSearchExpression* _tmp50_;
 
238
        RygelMediaObjects* _tmp51_;
 
239
        guint _tmp52_;
 
240
        GCancellable* _tmp53_;
 
241
        RygelMediaObjects* _tmp54_;
199
242
        RygelMediaObjects* child_results;
200
 
        gboolean _tmp15_;
201
 
        gint _tmp16_;
 
243
        RygelMediaObjects* _tmp55_;
 
244
        RygelMediaObjects* _tmp56_;
 
245
        gboolean _tmp57_;
 
246
        RygelMediaObjects* _tmp58_;
 
247
        gint _tmp59_;
 
248
        gint _tmp60_;
 
249
        guint _tmp61_;
 
250
        gboolean _tmp62_;
202
251
        guint start;
203
252
        guint stop;
204
 
        gint _tmp17_;
205
 
        guint _tmp18_;
206
 
        gboolean _tmp19_;
207
 
        gint _tmp20_;
208
 
        gint _tmp21_;
209
 
        GeeList* _tmp22_;
210
 
        GeeList* _tmp23_;
211
 
        gint _tmp24_;
 
253
        guint _tmp63_;
 
254
        RygelMediaObjects* _tmp64_;
 
255
        gint _tmp65_;
 
256
        gint _tmp66_;
 
257
        guint _tmp67_;
 
258
        gboolean _tmp68_;
 
259
        guint _tmp69_;
 
260
        guint _tmp70_;
 
261
        guint _tmp71_;
 
262
        RygelMediaObjects* _tmp72_;
 
263
        gint _tmp73_;
 
264
        gint _tmp74_;
 
265
        gboolean _tmp75_;
 
266
        guint _tmp76_;
 
267
        guint _tmp77_;
 
268
        RygelMediaObjects* _tmp78_;
 
269
        gint _tmp79_;
 
270
        gint _tmp80_;
 
271
        RygelMediaObjects* _tmp81_;
 
272
        guint _tmp82_;
 
273
        guint _tmp83_;
 
274
        GeeList* _tmp84_;
 
275
        RygelMediaObjects* _tmp85_;
 
276
        gint _tmp86_;
 
277
        gint _tmp87_;
212
278
        GError * _inner_error_;
213
279
};
214
280
 
240
306
        RygelRelationalExpression* _tmp0_;
241
307
        RygelRelationalExpression* expression;
242
308
        gchar* _tmp1_;
243
 
        gchar* _tmp2_;
 
309
        const gchar* _tmp2_;
 
310
        gchar* _tmp3_;
244
311
        guint total_matches;
245
 
        guint _tmp3_;
246
 
        RygelMediaObjects* _tmp4_;
 
312
        GCancellable* _tmp4_;
 
313
        guint _tmp5_;
 
314
        RygelMediaObjects* _tmp6_;
247
315
        RygelMediaObjects* results;
 
316
        gint _tmp7_;
 
317
        gint _tmp8_;
 
318
        gpointer _tmp9_;
 
319
        GError * _inner_error_;
 
320
};
 
321
 
 
322
struct _RygelSearchableContainerSearchInChildrenData {
 
323
        int _state_;
 
324
        GObject* _source_object_;
 
325
        GAsyncResult* _res_;
 
326
        GSimpleAsyncResult* _async_result;
 
327
        RygelSearchableContainer* self;
 
328
        RygelSearchExpression* expression;
 
329
        RygelMediaObjects* children;
 
330
        guint limit;
 
331
        GCancellable* cancellable;
 
332
        RygelMediaObjects* result;
 
333
        RygelMediaObjects* _tmp0_;
 
334
        RygelMediaObjects* _result_;
 
335
        RygelMediaObjects* _tmp1_;
 
336
        RygelMediaObjects* _tmp2_;
 
337
        RygelMediaObjects* _child_list;
 
338
        RygelMediaObjects* _tmp3_;
 
339
        gint _tmp4_;
248
340
        gint _tmp5_;
249
 
        gpointer _tmp6_;
250
 
        GError * _inner_error_;
251
 
};
252
 
 
253
 
struct _RygelSearchableContainerSearchInChildrenData {
254
 
        int _state_;
255
 
        GObject* _source_object_;
256
 
        GAsyncResult* _res_;
257
 
        GSimpleAsyncResult* _async_result;
258
 
        RygelSearchableContainer* self;
259
 
        RygelSearchExpression* expression;
260
 
        RygelMediaObjects* children;
261
 
        guint limit;
262
 
        GCancellable* cancellable;
263
 
        RygelMediaObjects* result;
264
 
        RygelMediaObjects* _tmp0_;
265
 
        RygelMediaObjects* _result_;
266
 
        RygelMediaObjects* _tmp1_;
267
 
        RygelMediaObjects* _child_list;
268
 
        gint _tmp2_;
269
341
        gint _child_size;
270
342
        gint _child_index;
271
 
        gpointer _tmp3_;
 
343
        gint _tmp6_;
 
344
        gint _tmp7_;
 
345
        gint _tmp8_;
 
346
        RygelMediaObjects* _tmp9_;
 
347
        gint _tmp10_;
 
348
        gpointer _tmp11_;
272
349
        RygelMediaObject* child;
273
 
        RygelMediaObject* _tmp4_;
274
 
        RygelSearchableContainer* _tmp5_;
 
350
        RygelMediaObject* _tmp12_;
 
351
        RygelMediaObject* _tmp13_;
 
352
        RygelSearchableContainer* _tmp14_;
275
353
        RygelSearchableContainer* container;
276
354
        guint tmp;
277
 
        guint _tmp6_;
278
 
        RygelMediaObjects* _tmp7_;
 
355
        RygelSearchableContainer* _tmp15_;
 
356
        RygelSearchExpression* _tmp16_;
 
357
        guint _tmp17_;
 
358
        GCancellable* _tmp18_;
 
359
        guint _tmp19_;
 
360
        RygelMediaObjects* _tmp20_;
279
361
        RygelMediaObjects* child_result;
280
 
        gboolean _tmp8_;
281
 
        gint _tmp9_;
 
362
        RygelMediaObjects* _tmp21_;
 
363
        RygelMediaObjects* _tmp22_;
 
364
        gboolean _tmp23_;
 
365
        guint _tmp24_;
 
366
        RygelMediaObjects* _tmp25_;
 
367
        gint _tmp26_;
 
368
        gint _tmp27_;
 
369
        guint _tmp28_;
 
370
        gboolean _tmp29_;
282
371
        GError * _inner_error_;
283
372
};
284
373
 
300
389
static void rygel_searchable_container_simple_search_data_free (gpointer _data);
301
390
void rygel_searchable_container_simple_search (RygelSearchableContainer* self, RygelSearchExpression* expression, guint offset, guint max_count, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
302
391
RygelMediaObjects* rygel_searchable_container_simple_search_finish (RygelSearchableContainer* self, GAsyncResult* _res_, guint* total_matches, GError** error);
303
 
static gboolean rygel_searchable_container_simple_search_co (RygelSearchableContainerSimpleSearchData* data);
 
392
static gboolean rygel_searchable_container_simple_search_co (RygelSearchableContainerSimpleSearchData* _data_);
304
393
RygelMediaObjects* rygel_media_objects_new (void);
305
394
RygelMediaObjects* rygel_media_objects_construct (GType object_type);
306
395
void rygel_media_container_get_children (RygelMediaContainer* self, guint offset, guint max_count, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
314
403
static void rygel_searchable_container_find_object_data_free (gpointer _data);
315
404
void rygel_searchable_container_find_object (RygelSearchableContainer* self, const gchar* id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
316
405
RygelMediaObject* rygel_searchable_container_find_object_finish (RygelSearchableContainer* self, GAsyncResult* _res_, GError** error);
317
 
static gboolean rygel_searchable_container_find_object_co (RygelSearchableContainerFindObjectData* data);
 
406
static gboolean rygel_searchable_container_find_object_co (RygelSearchableContainerFindObjectData* _data_);
318
407
RygelRelationalExpression* rygel_relational_expression_new (void);
319
408
RygelRelationalExpression* rygel_relational_expression_construct (GType object_type);
320
409
GType rygel_relational_expression_get_type (void) G_GNUC_CONST;
321
410
static void rygel_searchable_container_find_object_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
322
411
static void rygel_searchable_container_search_in_children_data_free (gpointer _data);
323
 
static gboolean rygel_searchable_container_search_in_children_co (RygelSearchableContainerSearchInChildrenData* data);
 
412
static gboolean rygel_searchable_container_search_in_children_co (RygelSearchableContainerSearchInChildrenData* _data_);
324
413
static void rygel_searchable_container_search_in_children_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
 
414
void rygel_searchable_container_serialize_search_parameters (RygelSearchableContainer* self, GUPnPDIDLLiteContainer* didl_container);
 
415
GeeArrayList* rygel_searchable_container_get_search_classes (RygelSearchableContainer* self);
 
416
void rygel_searchable_container_set_search_classes (RygelSearchableContainer* self, GeeArrayList* value);
325
417
 
326
418
 
327
419
void rygel_searchable_container_search (RygelSearchableContainer* self, RygelSearchExpression* expression, guint offset, guint max_count, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
 
420
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
328
421
        RYGEL_SEARCHABLE_CONTAINER_GET_INTERFACE (self)->search (self, expression, offset, max_count, cancellable, _callback_, _user_data_);
 
422
#line 423 "rygel-searchable-container.c"
329
423
}
330
424
 
331
425
 
332
426
RygelMediaObjects* rygel_searchable_container_search_finish (RygelSearchableContainer* self, GAsyncResult* _res_, guint* total_matches, GError** error) {
 
427
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
333
428
        return RYGEL_SEARCHABLE_CONTAINER_GET_INTERFACE (self)->search_finish (self, _res_, total_matches, error);
 
429
#line 430 "rygel-searchable-container.c"
334
430
}
335
431
 
336
432
 
337
433
static void rygel_searchable_container_simple_search_data_free (gpointer _data) {
338
 
        RygelSearchableContainerSimpleSearchData* data;
339
 
        data = _data;
340
 
        _rygel_search_expression_unref0 (data->expression);
341
 
        _g_object_unref0 (data->cancellable);
342
 
        _g_object_unref0 (data->result);
343
 
        _g_object_unref0 (data->self);
344
 
        g_slice_free (RygelSearchableContainerSimpleSearchData, data);
 
434
        RygelSearchableContainerSimpleSearchData* _data_;
 
435
        _data_ = _data;
 
436
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
437
        _rygel_search_expression_unref0 (_data_->expression);
 
438
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
439
        _g_object_unref0 (_data_->cancellable);
 
440
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
441
        _g_object_unref0 (_data_->result);
 
442
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
443
        _g_object_unref0 (_data_->self);
 
444
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
445
        g_slice_free (RygelSearchableContainerSimpleSearchData, _data_);
 
446
#line 447 "rygel-searchable-container.c"
345
447
}
346
448
 
347
449
 
348
450
static gpointer _g_object_ref0 (gpointer self) {
 
451
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
349
452
        return self ? g_object_ref (self) : NULL;
 
453
#line 454 "rygel-searchable-container.c"
350
454
}
351
455
 
352
456
 
353
457
static gpointer _rygel_search_expression_ref0 (gpointer self) {
 
458
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
354
459
        return self ? rygel_search_expression_ref (self) : NULL;
 
460
#line 461 "rygel-searchable-container.c"
355
461
}
356
462
 
357
463
 
358
464
void rygel_searchable_container_simple_search (RygelSearchableContainer* self, RygelSearchExpression* expression, guint offset, guint max_count, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
359
465
        RygelSearchableContainerSimpleSearchData* _data_;
 
466
        RygelSearchableContainer* _tmp0_;
 
467
        RygelSearchExpression* _tmp1_;
 
468
        RygelSearchExpression* _tmp2_;
 
469
        guint _tmp3_;
 
470
        guint _tmp4_;
 
471
        GCancellable* _tmp5_;
 
472
        GCancellable* _tmp6_;
 
473
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
360
474
        _data_ = g_slice_new0 (RygelSearchableContainerSimpleSearchData);
 
475
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
361
476
        _data_->_async_result = g_simple_async_result_new (g_object_newv (G_TYPE_OBJECT, 0, NULL), _callback_, _user_data_, rygel_searchable_container_simple_search);
 
477
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
362
478
        g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, rygel_searchable_container_simple_search_data_free);
363
 
        _data_->self = _g_object_ref0 (self);
364
 
        _data_->expression = _rygel_search_expression_ref0 (expression);
365
 
        _data_->offset = offset;
366
 
        _data_->max_count = max_count;
367
 
        _data_->cancellable = _g_object_ref0 (cancellable);
 
479
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
480
        _tmp0_ = _g_object_ref0 (self);
 
481
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
482
        _data_->self = _tmp0_;
 
483
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
484
        _tmp1_ = expression;
 
485
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
486
        _tmp2_ = _rygel_search_expression_ref0 (_tmp1_);
 
487
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
488
        _data_->expression = _tmp2_;
 
489
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
490
        _tmp3_ = offset;
 
491
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
492
        _data_->offset = _tmp3_;
 
493
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
494
        _tmp4_ = max_count;
 
495
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
496
        _data_->max_count = _tmp4_;
 
497
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
498
        _tmp5_ = cancellable;
 
499
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
500
        _tmp6_ = _g_object_ref0 (_tmp5_);
 
501
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
502
        _data_->cancellable = _tmp6_;
 
503
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
368
504
        rygel_searchable_container_simple_search_co (_data_);
 
505
#line 506 "rygel-searchable-container.c"
369
506
}
370
507
 
371
508
 
372
509
RygelMediaObjects* rygel_searchable_container_simple_search_finish (RygelSearchableContainer* self, GAsyncResult* _res_, guint* total_matches, GError** error) {
373
510
        RygelMediaObjects* result;
374
511
        RygelSearchableContainerSimpleSearchData* _data_;
 
512
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
375
513
        if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
 
514
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
376
515
                return NULL;
 
516
#line 517 "rygel-searchable-container.c"
377
517
        }
 
518
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
378
519
        _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
379
 
        *total_matches = _data_->total_matches;
 
520
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
521
        if (total_matches) {
 
522
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
523
                *total_matches = _data_->total_matches;
 
524
#line 525 "rygel-searchable-container.c"
 
525
        }
 
526
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
380
527
        result = _data_->result;
 
528
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
381
529
        _data_->result = NULL;
 
530
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
382
531
        return result;
 
532
#line 533 "rygel-searchable-container.c"
383
533
}
384
534
 
385
535
 
400
550
     * return A list of media objects.
401
551
     */
402
552
static void rygel_searchable_container_simple_search_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
403
 
        RygelSearchableContainerSimpleSearchData* data;
404
 
        data = _user_data_;
405
 
        data->_source_object_ = source_object;
406
 
        data->_res_ = _res_;
407
 
        rygel_searchable_container_simple_search_co (data);
 
553
        RygelSearchableContainerSimpleSearchData* _data_;
 
554
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
555
        _data_ = _user_data_;
 
556
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
557
        _data_->_source_object_ = source_object;
 
558
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
559
        _data_->_res_ = _res_;
 
560
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
561
        rygel_searchable_container_simple_search_co (_data_);
 
562
#line 563 "rygel-searchable-container.c"
408
563
}
409
564
 
410
565
 
411
 
static gboolean rygel_searchable_container_simple_search_co (RygelSearchableContainerSimpleSearchData* data) {
412
 
        switch (data->_state_) {
 
566
static gboolean rygel_searchable_container_simple_search_co (RygelSearchableContainerSimpleSearchData* _data_) {
 
567
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
568
        switch (_data_->_state_) {
 
569
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
413
570
                case 0:
 
571
#line 572 "rygel-searchable-container.c"
414
572
                goto _state_0;
 
573
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
415
574
                case 1:
 
575
#line 576 "rygel-searchable-container.c"
416
576
                goto _state_1;
 
577
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
417
578
                case 2:
 
579
#line 580 "rygel-searchable-container.c"
418
580
                goto _state_2;
419
581
                default:
 
582
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
420
583
                g_assert_not_reached ();
 
584
#line 585 "rygel-searchable-container.c"
421
585
        }
422
586
        _state_0:
423
 
        data->_tmp0_ = NULL;
424
 
        data->_tmp0_ = rygel_media_objects_new ();
425
 
        data->_result_ = data->_tmp0_;
426
 
        data->_state_ = 1;
427
 
        rygel_media_container_get_children ((RygelMediaContainer*) data->self, (guint) 0, (guint) ((RygelMediaContainer*) data->self)->child_count, data->cancellable, rygel_searchable_container_simple_search_ready, data);
 
587
#line 76 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
588
        _data_->_tmp0_ = rygel_media_objects_new ();
 
589
#line 76 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
590
        _data_->_result_ = _data_->_tmp0_;
 
591
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
592
        _data_->_tmp1_ = ((RygelMediaContainer*) _data_->self)->child_count;
 
593
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
594
        _data_->_tmp2_ = _data_->cancellable;
 
595
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
596
        _data_->_state_ = 1;
 
597
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
598
        rygel_media_container_get_children ((RygelMediaContainer*) _data_->self, (guint) 0, (guint) _data_->_tmp1_, _data_->_tmp2_, rygel_searchable_container_simple_search_ready, _data_);
 
599
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
428
600
        return FALSE;
 
601
#line 602 "rygel-searchable-container.c"
429
602
        _state_1:
430
 
        data->_tmp1_ = NULL;
431
 
        data->_tmp1_ = rygel_media_container_get_children_finish ((RygelMediaContainer*) data->self, data->_res_, &data->_inner_error_);
432
 
        data->children = data->_tmp1_;
433
 
        if (data->_inner_error_ != NULL) {
434
 
                g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
435
 
                g_error_free (data->_inner_error_);
436
 
                _g_object_unref0 (data->_result_);
437
 
                if (data->_state_ == 0) {
438
 
                        g_simple_async_result_complete_in_idle (data->_async_result);
 
603
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
604
        _data_->_tmp3_ = NULL;
 
605
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
606
        _data_->_tmp3_ = rygel_media_container_get_children_finish ((RygelMediaContainer*) _data_->self, _data_->_res_, &_data_->_inner_error_);
 
607
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
608
        _data_->children = _data_->_tmp3_;
 
609
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
610
        if (_data_->_inner_error_ != NULL) {
 
611
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
612
                g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
 
613
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
614
                g_error_free (_data_->_inner_error_);
 
615
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
616
                _g_object_unref0 (_data_->_result_);
 
617
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
618
                if (_data_->_state_ == 0) {
 
619
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
620
                        g_simple_async_result_complete_in_idle (_data_->_async_result);
 
621
#line 622 "rygel-searchable-container.c"
439
622
                } else {
440
 
                        g_simple_async_result_complete (data->_async_result);
 
623
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
624
                        g_simple_async_result_complete (_data_->_async_result);
 
625
#line 626 "rygel-searchable-container.c"
441
626
                }
442
 
                g_object_unref (data->_async_result);
 
627
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
628
                g_object_unref (_data_->_async_result);
 
629
#line 78 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
443
630
                return FALSE;
444
 
        }
445
 
        if (data->offset > 0) {
446
 
                data->_tmp2_ = TRUE;
447
 
        } else {
448
 
                data->_tmp2_ = data->max_count > 0;
449
 
        }
450
 
        if (data->_tmp2_) {
451
 
                data->limit = data->offset + data->max_count;
452
 
        } else {
453
 
                data->limit = (guint) 0;
 
631
#line 632 "rygel-searchable-container.c"
 
632
        }
 
633
#line 85 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
634
        _data_->_tmp5_ = _data_->offset;
 
635
#line 85 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
636
        if (_data_->_tmp5_ > ((guint) 0)) {
 
637
#line 85 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
638
                _data_->_tmp4_ = TRUE;
 
639
#line 640 "rygel-searchable-container.c"
 
640
        } else {
 
641
#line 85 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
642
                _data_->_tmp6_ = _data_->max_count;
 
643
#line 85 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
644
                _data_->_tmp4_ = _data_->_tmp6_ > ((guint) 0);
 
645
#line 646 "rygel-searchable-container.c"
 
646
        }
 
647
#line 85 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
648
        _data_->_tmp7_ = _data_->_tmp4_;
 
649
#line 85 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
650
        if (_data_->_tmp7_) {
 
651
#line 86 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
652
                _data_->_tmp8_ = _data_->offset;
 
653
#line 86 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
654
                _data_->_tmp9_ = _data_->max_count;
 
655
#line 86 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
656
                _data_->limit = _data_->_tmp8_ + _data_->_tmp9_;
 
657
#line 658 "rygel-searchable-container.c"
 
658
        } else {
 
659
#line 88 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
660
                _data_->limit = (guint) 0;
 
661
#line 662 "rygel-searchable-container.c"
454
662
        }
455
663
        {
456
 
                data->_tmp3_ = _g_object_ref0 (data->children);
457
 
                data->_child_list = data->_tmp3_;
458
 
                data->_tmp4_ = gee_collection_get_size ((GeeCollection*) data->_child_list);
459
 
                data->_child_size = data->_tmp4_;
460
 
                data->_child_index = -1;
 
664
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
665
                _data_->_tmp10_ = _data_->children;
 
666
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
667
                _data_->_tmp11_ = _g_object_ref0 (_data_->_tmp10_);
 
668
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
669
                _data_->_child_list = _data_->_tmp11_;
 
670
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
671
                _data_->_tmp12_ = _data_->_child_list;
 
672
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
673
                _data_->_tmp13_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp12_);
 
674
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
675
                _data_->_tmp14_ = _data_->_tmp13_;
 
676
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
677
                _data_->_child_size = _data_->_tmp14_;
 
678
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
679
                _data_->_child_index = -1;
 
680
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
461
681
                while (TRUE) {
462
 
                        data->_child_index = data->_child_index + 1;
463
 
                        if (!(data->_child_index < data->_child_size)) {
464
 
                                break;
465
 
                        }
466
 
                        data->_tmp5_ = NULL;
467
 
                        data->_tmp5_ = gee_abstract_list_get ((GeeAbstractList*) data->_child_list, data->_child_index);
468
 
                        data->child = (RygelMediaObject*) data->_tmp5_;
469
 
                        if (data->expression == NULL) {
470
 
                                data->_tmp6_ = TRUE;
471
 
                        } else {
472
 
                                data->_tmp7_ = rygel_search_expression_satisfied_by (data->expression, data->child);
473
 
                                data->_tmp6_ = data->_tmp7_;
474
 
                        }
475
 
                        if (data->_tmp6_) {
476
 
                                gee_abstract_collection_add ((GeeAbstractCollection*) data->_result_, data->child);
477
 
                        }
478
 
                        if (data->limit > 0) {
479
 
                                data->_tmp9_ = gee_collection_get_size ((GeeCollection*) data->_result_);
480
 
                                data->_tmp8_ = data->_tmp9_ >= data->limit;
481
 
                        } else {
482
 
                                data->_tmp8_ = FALSE;
483
 
                        }
484
 
                        if (data->_tmp8_) {
485
 
                                _g_object_unref0 (data->child);
486
 
                                break;
487
 
                        }
488
 
                        _g_object_unref0 (data->child);
 
682
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
683
                        _data_->_tmp15_ = _data_->_child_index;
 
684
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
685
                        _data_->_child_index = _data_->_tmp15_ + 1;
 
686
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
687
                        _data_->_tmp16_ = _data_->_child_index;
 
688
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
689
                        _data_->_tmp17_ = _data_->_child_size;
 
690
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
691
                        if (!(_data_->_tmp16_ < _data_->_tmp17_)) {
 
692
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
693
                                break;
 
694
#line 695 "rygel-searchable-container.c"
 
695
                        }
 
696
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
697
                        _data_->_tmp18_ = _data_->_child_list;
 
698
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
699
                        _data_->_tmp19_ = _data_->_child_index;
 
700
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
701
                        _data_->_tmp20_ = NULL;
 
702
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
703
                        _data_->_tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _data_->_tmp18_, _data_->_tmp19_);
 
704
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
705
                        _data_->child = (RygelMediaObject*) _data_->_tmp20_;
 
706
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
707
                        _data_->_tmp22_ = _data_->expression;
 
708
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
709
                        if (_data_->_tmp22_ == NULL) {
 
710
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
711
                                _data_->_tmp21_ = TRUE;
 
712
#line 713 "rygel-searchable-container.c"
 
713
                        } else {
 
714
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
715
                                _data_->_tmp23_ = _data_->expression;
 
716
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
717
                                _data_->_tmp24_ = _data_->child;
 
718
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
719
                                _data_->_tmp25_ = FALSE;
 
720
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
721
                                _data_->_tmp25_ = rygel_search_expression_satisfied_by (_data_->_tmp23_, _data_->_tmp24_);
 
722
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
723
                                _data_->_tmp21_ = _data_->_tmp25_;
 
724
#line 725 "rygel-searchable-container.c"
 
725
                        }
 
726
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
727
                        _data_->_tmp26_ = _data_->_tmp21_;
 
728
#line 93 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
729
                        if (_data_->_tmp26_) {
 
730
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
731
                                _data_->_tmp27_ = _data_->_result_;
 
732
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
733
                                _data_->_tmp28_ = _data_->child;
 
734
#line 94 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
735
                                gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp27_, _data_->_tmp28_);
 
736
#line 737 "rygel-searchable-container.c"
 
737
                        }
 
738
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
739
                        _data_->_tmp30_ = _data_->limit;
 
740
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
741
                        if (_data_->_tmp30_ > ((guint) 0)) {
 
742
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
743
                                _data_->_tmp31_ = _data_->_result_;
 
744
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
745
                                _data_->_tmp32_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp31_);
 
746
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
747
                                _data_->_tmp33_ = _data_->_tmp32_;
 
748
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
749
                                _data_->_tmp34_ = _data_->limit;
 
750
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
751
                                _data_->_tmp29_ = ((guint) _data_->_tmp33_) >= _data_->_tmp34_;
 
752
#line 753 "rygel-searchable-container.c"
 
753
                        } else {
 
754
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
755
                                _data_->_tmp29_ = FALSE;
 
756
#line 757 "rygel-searchable-container.c"
 
757
                        }
 
758
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
759
                        _data_->_tmp35_ = _data_->_tmp29_;
 
760
#line 97 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
761
                        if (_data_->_tmp35_) {
 
762
#line 98 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
763
                                _g_object_unref0 (_data_->child);
 
764
#line 98 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
765
                                break;
 
766
#line 767 "rygel-searchable-container.c"
 
767
                        }
 
768
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
769
                        _g_object_unref0 (_data_->child);
 
770
#line 771 "rygel-searchable-container.c"
489
771
                }
490
 
                _g_object_unref0 (data->_child_list);
 
772
#line 92 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
773
                _g_object_unref0 (_data_->_child_list);
 
774
#line 775 "rygel-searchable-container.c"
491
775
        }
492
 
        if (data->limit == 0) {
493
 
                data->_tmp10_ = TRUE;
 
776
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
777
        _data_->_tmp37_ = _data_->limit;
 
778
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
779
        if (_data_->_tmp37_ == ((guint) 0)) {
 
780
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
781
                _data_->_tmp36_ = TRUE;
 
782
#line 783 "rygel-searchable-container.c"
494
783
        } else {
495
 
                data->_tmp11_ = gee_collection_get_size ((GeeCollection*) data->_result_);
496
 
                data->_tmp10_ = data->_tmp11_ < data->limit;
 
784
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
785
                _data_->_tmp38_ = _data_->_result_;
 
786
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
787
                _data_->_tmp39_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp38_);
 
788
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
789
                _data_->_tmp40_ = _data_->_tmp39_;
 
790
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
791
                _data_->_tmp41_ = _data_->limit;
 
792
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
793
                _data_->_tmp36_ = ((guint) _data_->_tmp40_) < _data_->_tmp41_;
 
794
#line 795 "rygel-searchable-container.c"
497
795
        }
498
 
        if (data->_tmp10_) {
499
 
                if (data->limit == 0) {
500
 
                        data->_tmp12_ = (guint) 0;
 
796
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
797
        _data_->_tmp42_ = _data_->_tmp36_;
 
798
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
799
        if (_data_->_tmp42_) {
 
800
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
801
                _data_->_tmp44_ = _data_->limit;
 
802
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
803
                if (_data_->_tmp44_ == ((guint) 0)) {
 
804
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
805
                        _data_->_tmp43_ = (guint) 0;
 
806
#line 807 "rygel-searchable-container.c"
501
807
                } else {
502
 
                        data->_tmp13_ = gee_collection_get_size ((GeeCollection*) data->_result_);
503
 
                        data->_tmp12_ = data->limit - data->_tmp13_;
 
808
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
809
                        _data_->_tmp45_ = _data_->limit;
 
810
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
811
                        _data_->_tmp46_ = _data_->_result_;
 
812
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
813
                        _data_->_tmp47_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp46_);
 
814
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
815
                        _data_->_tmp48_ = _data_->_tmp47_;
 
816
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
817
                        _data_->_tmp43_ = _data_->_tmp45_ - _data_->_tmp48_;
 
818
#line 819 "rygel-searchable-container.c"
504
819
                }
505
 
                data->child_limit = data->_tmp12_;
506
 
                data->_state_ = 2;
507
 
                rygel_searchable_container_search_in_children (data->self, data->expression, data->children, data->child_limit, data->cancellable, rygel_searchable_container_simple_search_ready, data);
 
820
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
821
                _data_->_tmp49_ = _data_->_tmp43_;
 
822
#line 104 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
823
                _data_->child_limit = _data_->_tmp49_;
 
824
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
825
                _data_->_tmp50_ = _data_->expression;
 
826
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
827
                _data_->_tmp51_ = _data_->children;
 
828
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
829
                _data_->_tmp52_ = _data_->child_limit;
 
830
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
831
                _data_->_tmp53_ = _data_->cancellable;
 
832
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
833
                _data_->_state_ = 2;
 
834
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
835
                rygel_searchable_container_search_in_children (_data_->self, _data_->_tmp50_, _data_->_tmp51_, _data_->_tmp52_, _data_->_tmp53_, rygel_searchable_container_simple_search_ready, _data_);
 
836
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
508
837
                return FALSE;
 
838
#line 839 "rygel-searchable-container.c"
509
839
                _state_2:
510
 
                data->_tmp14_ = NULL;
511
 
                data->_tmp14_ = rygel_searchable_container_search_in_children_finish (data->self, data->_res_, &data->_inner_error_);
512
 
                data->child_results = data->_tmp14_;
513
 
                if (data->_inner_error_ != NULL) {
514
 
                        g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
515
 
                        g_error_free (data->_inner_error_);
516
 
                        _g_object_unref0 (data->children);
517
 
                        _g_object_unref0 (data->_result_);
518
 
                        if (data->_state_ == 0) {
519
 
                                g_simple_async_result_complete_in_idle (data->_async_result);
 
840
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
841
                _data_->_tmp54_ = NULL;
 
842
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
843
                _data_->_tmp54_ = rygel_searchable_container_search_in_children_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
 
844
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
845
                _data_->child_results = _data_->_tmp54_;
 
846
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
847
                if (_data_->_inner_error_ != NULL) {
 
848
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
849
                        g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
 
850
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
851
                        g_error_free (_data_->_inner_error_);
 
852
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
853
                        _g_object_unref0 (_data_->children);
 
854
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
855
                        _g_object_unref0 (_data_->_result_);
 
856
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
857
                        if (_data_->_state_ == 0) {
 
858
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
859
                                g_simple_async_result_complete_in_idle (_data_->_async_result);
 
860
#line 861 "rygel-searchable-container.c"
520
861
                        } else {
521
 
                                g_simple_async_result_complete (data->_async_result);
 
862
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
863
                                g_simple_async_result_complete (_data_->_async_result);
 
864
#line 865 "rygel-searchable-container.c"
522
865
                        }
523
 
                        g_object_unref (data->_async_result);
 
866
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
867
                        g_object_unref (_data_->_async_result);
 
868
#line 106 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
524
869
                        return FALSE;
525
 
                }
526
 
                gee_abstract_collection_add_all ((GeeAbstractCollection*) data->_result_, (GeeCollection*) data->child_results);
527
 
                _g_object_unref0 (data->child_results);
528
 
        }
529
 
        data->_tmp16_ = gee_collection_get_size ((GeeCollection*) data->_result_);
530
 
        if (data->_tmp16_ > 0) {
531
 
                data->_tmp15_ = data->limit > 0;
532
 
        } else {
533
 
                data->_tmp15_ = FALSE;
534
 
        }
535
 
        if (data->_tmp15_) {
536
 
                data->_tmp17_ = gee_collection_get_size ((GeeCollection*) data->_result_);
537
 
                data->_tmp18_ = CLAMP (data->offset, (guint) 0, (guint) (data->_tmp17_ - 1));
538
 
                data->start = data->_tmp18_;
539
 
                if (data->max_count != 0) {
540
 
                        data->_tmp20_ = gee_collection_get_size ((GeeCollection*) data->_result_);
541
 
                        data->_tmp19_ = (data->start + data->max_count) <= data->_tmp20_;
542
 
                } else {
543
 
                        data->_tmp19_ = FALSE;
544
 
                }
545
 
                if (data->_tmp19_) {
546
 
                        data->stop = data->start + data->max_count;
547
 
                } else {
548
 
                        data->_tmp21_ = gee_collection_get_size ((GeeCollection*) data->_result_);
549
 
                        data->stop = (guint) data->_tmp21_;
550
 
                }
551
 
                data->total_matches = (guint) 0;
552
 
                data->_tmp22_ = NULL;
553
 
                data->_tmp22_ = gee_abstract_list_slice ((GeeAbstractList*) data->_result_, (gint) data->start, (gint) data->stop);
554
 
                data->_tmp23_ = data->_tmp22_;
555
 
                data->result = RYGEL_IS_MEDIA_OBJECTS (data->_tmp23_) ? ((RygelMediaObjects*) data->_tmp23_) : NULL;
556
 
                _g_object_unref0 (data->children);
557
 
                _g_object_unref0 (data->_result_);
558
 
                if (data->_state_ == 0) {
559
 
                        g_simple_async_result_complete_in_idle (data->_async_result);
560
 
                } else {
561
 
                        g_simple_async_result_complete (data->_async_result);
562
 
                }
563
 
                g_object_unref (data->_async_result);
564
 
                return FALSE;
565
 
        } else {
566
 
                data->_tmp24_ = gee_collection_get_size ((GeeCollection*) data->_result_);
567
 
                data->total_matches = (guint) data->_tmp24_;
568
 
                data->result = data->_result_;
569
 
                _g_object_unref0 (data->children);
570
 
                if (data->_state_ == 0) {
571
 
                        g_simple_async_result_complete_in_idle (data->_async_result);
572
 
                } else {
573
 
                        g_simple_async_result_complete (data->_async_result);
574
 
                }
575
 
                g_object_unref (data->_async_result);
576
 
                return FALSE;
577
 
        }
578
 
        _g_object_unref0 (data->children);
579
 
        _g_object_unref0 (data->_result_);
580
 
        if (data->_state_ == 0) {
581
 
                g_simple_async_result_complete_in_idle (data->_async_result);
582
 
        } else {
583
 
                g_simple_async_result_complete (data->_async_result);
584
 
        }
585
 
        g_object_unref (data->_async_result);
 
870
#line 871 "rygel-searchable-container.c"
 
871
                }
 
872
#line 110 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
873
                _data_->_tmp55_ = _data_->_result_;
 
874
#line 110 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
875
                _data_->_tmp56_ = _data_->child_results;
 
876
#line 110 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
877
                gee_abstract_collection_add_all ((GeeAbstractCollection*) _data_->_tmp55_, (GeeCollection*) _data_->_tmp56_);
 
878
#line 102 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
879
                _g_object_unref0 (_data_->child_results);
 
880
#line 881 "rygel-searchable-container.c"
 
881
        }
 
882
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
883
        _data_->_tmp58_ = _data_->_result_;
 
884
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
885
        _data_->_tmp59_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp58_);
 
886
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
887
        _data_->_tmp60_ = _data_->_tmp59_;
 
888
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
889
        if (_data_->_tmp60_ > 0) {
 
890
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
891
                _data_->_tmp61_ = _data_->limit;
 
892
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
893
                _data_->_tmp57_ = _data_->_tmp61_ > ((guint) 0);
 
894
#line 895 "rygel-searchable-container.c"
 
895
        } else {
 
896
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
897
                _data_->_tmp57_ = FALSE;
 
898
#line 899 "rygel-searchable-container.c"
 
899
        }
 
900
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
901
        _data_->_tmp62_ = _data_->_tmp57_;
 
902
#line 114 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
903
        if (_data_->_tmp62_) {
 
904
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
905
                _data_->_tmp63_ = _data_->offset;
 
906
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
907
                _data_->_tmp64_ = _data_->_result_;
 
908
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
909
                _data_->_tmp65_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp64_);
 
910
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
911
                _data_->_tmp66_ = _data_->_tmp65_;
 
912
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
913
                _data_->_tmp67_ = 0U;
 
914
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
915
                _data_->_tmp67_ = CLAMP (_data_->_tmp63_, (guint) 0, (guint) (_data_->_tmp66_ - 1));
 
916
#line 118 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
917
                _data_->start = _data_->_tmp67_;
 
918
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
919
                _data_->_tmp69_ = _data_->max_count;
 
920
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
921
                if (_data_->_tmp69_ != ((guint) 0)) {
 
922
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
923
                        _data_->_tmp70_ = _data_->start;
 
924
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
925
                        _data_->_tmp71_ = _data_->max_count;
 
926
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
927
                        _data_->_tmp72_ = _data_->_result_;
 
928
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
929
                        _data_->_tmp73_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp72_);
 
930
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
931
                        _data_->_tmp74_ = _data_->_tmp73_;
 
932
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
933
                        _data_->_tmp68_ = (_data_->_tmp70_ + _data_->_tmp71_) <= ((guint) _data_->_tmp74_);
 
934
#line 935 "rygel-searchable-container.c"
 
935
                } else {
 
936
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
937
                        _data_->_tmp68_ = FALSE;
 
938
#line 939 "rygel-searchable-container.c"
 
939
                }
 
940
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
941
                _data_->_tmp75_ = _data_->_tmp68_;
 
942
#line 120 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
943
                if (_data_->_tmp75_) {
 
944
#line 121 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
945
                        _data_->_tmp76_ = _data_->start;
 
946
#line 121 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
947
                        _data_->_tmp77_ = _data_->max_count;
 
948
#line 121 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
949
                        _data_->stop = _data_->_tmp76_ + _data_->_tmp77_;
 
950
#line 951 "rygel-searchable-container.c"
 
951
                } else {
 
952
#line 123 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
953
                        _data_->_tmp78_ = _data_->_result_;
 
954
#line 123 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
955
                        _data_->_tmp79_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp78_);
 
956
#line 123 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
957
                        _data_->_tmp80_ = _data_->_tmp79_;
 
958
#line 123 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
959
                        _data_->stop = (guint) _data_->_tmp80_;
 
960
#line 961 "rygel-searchable-container.c"
 
961
                }
 
962
#line 128 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
963
                _data_->total_matches = (guint) 0;
 
964
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
965
                _data_->_tmp81_ = _data_->_result_;
 
966
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
967
                _data_->_tmp82_ = _data_->start;
 
968
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
969
                _data_->_tmp83_ = _data_->stop;
 
970
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
971
                _data_->_tmp84_ = NULL;
 
972
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
973
                _data_->_tmp84_ = gee_abstract_list_slice ((GeeAbstractList*) _data_->_tmp81_, (gint) _data_->_tmp82_, (gint) _data_->_tmp83_);
 
974
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
975
                _data_->result = RYGEL_IS_MEDIA_OBJECTS (_data_->_tmp84_) ? ((RygelMediaObjects*) _data_->_tmp84_) : NULL;
 
976
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
977
                _g_object_unref0 (_data_->children);
 
978
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
979
                _g_object_unref0 (_data_->_result_);
 
980
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
981
                if (_data_->_state_ == 0) {
 
982
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
983
                        g_simple_async_result_complete_in_idle (_data_->_async_result);
 
984
#line 985 "rygel-searchable-container.c"
 
985
                } else {
 
986
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
987
                        g_simple_async_result_complete (_data_->_async_result);
 
988
#line 989 "rygel-searchable-container.c"
 
989
                }
 
990
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
991
                g_object_unref (_data_->_async_result);
 
992
#line 130 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
993
                return FALSE;
 
994
#line 995 "rygel-searchable-container.c"
 
995
        } else {
 
996
#line 132 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
997
                _data_->_tmp85_ = _data_->_result_;
 
998
#line 132 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
999
                _data_->_tmp86_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp85_);
 
1000
#line 132 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1001
                _data_->_tmp87_ = _data_->_tmp86_;
 
1002
#line 132 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1003
                _data_->total_matches = (guint) _data_->_tmp87_;
 
1004
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1005
                _data_->result = _data_->_result_;
 
1006
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1007
                _g_object_unref0 (_data_->children);
 
1008
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1009
                if (_data_->_state_ == 0) {
 
1010
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1011
                        g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1012
#line 1013 "rygel-searchable-container.c"
 
1013
                } else {
 
1014
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1015
                        g_simple_async_result_complete (_data_->_async_result);
 
1016
#line 1017 "rygel-searchable-container.c"
 
1017
                }
 
1018
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1019
                g_object_unref (_data_->_async_result);
 
1020
#line 134 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1021
                return FALSE;
 
1022
#line 1023 "rygel-searchable-container.c"
 
1023
        }
 
1024
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1025
        _g_object_unref0 (_data_->children);
 
1026
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1027
        _g_object_unref0 (_data_->_result_);
 
1028
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1029
        if (_data_->_state_ == 0) {
 
1030
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1031
                g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1032
#line 1033 "rygel-searchable-container.c"
 
1033
        } else {
 
1034
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1035
                g_simple_async_result_complete (_data_->_async_result);
 
1036
#line 1037 "rygel-searchable-container.c"
 
1037
        }
 
1038
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1039
        g_object_unref (_data_->_async_result);
 
1040
#line 70 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
586
1041
        return FALSE;
 
1042
#line 1043 "rygel-searchable-container.c"
587
1043
}
588
1044
 
589
1045
 
590
1046
static void rygel_searchable_container_find_object_data_free (gpointer _data) {
591
 
        RygelSearchableContainerFindObjectData* data;
592
 
        data = _data;
593
 
        _g_free0 (data->id);
594
 
        _g_object_unref0 (data->cancellable);
595
 
        _g_object_unref0 (data->result);
596
 
        _g_object_unref0 (data->self);
597
 
        g_slice_free (RygelSearchableContainerFindObjectData, data);
 
1047
        RygelSearchableContainerFindObjectData* _data_;
 
1048
        _data_ = _data;
 
1049
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1050
        _g_free0 (_data_->id);
 
1051
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1052
        _g_object_unref0 (_data_->cancellable);
 
1053
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1054
        _g_object_unref0 (_data_->result);
 
1055
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1056
        _g_object_unref0 (_data_->self);
 
1057
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1058
        g_slice_free (RygelSearchableContainerFindObjectData, _data_);
 
1059
#line 1060 "rygel-searchable-container.c"
598
1060
}
599
1061
 
600
1062
 
601
1063
void rygel_searchable_container_find_object (RygelSearchableContainer* self, const gchar* id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
602
1064
        RygelSearchableContainerFindObjectData* _data_;
 
1065
        RygelSearchableContainer* _tmp0_;
 
1066
        const gchar* _tmp1_;
 
1067
        gchar* _tmp2_;
 
1068
        GCancellable* _tmp3_;
 
1069
        GCancellable* _tmp4_;
 
1070
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
603
1071
        _data_ = g_slice_new0 (RygelSearchableContainerFindObjectData);
 
1072
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
604
1073
        _data_->_async_result = g_simple_async_result_new (g_object_newv (G_TYPE_OBJECT, 0, NULL), _callback_, _user_data_, rygel_searchable_container_find_object);
 
1074
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
605
1075
        g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, rygel_searchable_container_find_object_data_free);
606
 
        _data_->self = _g_object_ref0 (self);
607
 
        _data_->id = g_strdup (id);
608
 
        _data_->cancellable = _g_object_ref0 (cancellable);
 
1076
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1077
        _tmp0_ = _g_object_ref0 (self);
 
1078
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1079
        _data_->self = _tmp0_;
 
1080
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1081
        _tmp1_ = id;
 
1082
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1083
        _tmp2_ = g_strdup (_tmp1_);
 
1084
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1085
        _data_->id = _tmp2_;
 
1086
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1087
        _tmp3_ = cancellable;
 
1088
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1089
        _tmp4_ = _g_object_ref0 (_tmp3_);
 
1090
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1091
        _data_->cancellable = _tmp4_;
 
1092
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
609
1093
        rygel_searchable_container_find_object_co (_data_);
 
1094
#line 1095 "rygel-searchable-container.c"
610
1095
}
611
1096
 
612
1097
 
613
1098
RygelMediaObject* rygel_searchable_container_find_object_finish (RygelSearchableContainer* self, GAsyncResult* _res_, GError** error) {
614
1099
        RygelMediaObject* result;
615
1100
        RygelSearchableContainerFindObjectData* _data_;
 
1101
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
616
1102
        if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
 
1103
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
617
1104
                return NULL;
 
1105
#line 1106 "rygel-searchable-container.c"
618
1106
        }
 
1107
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
619
1108
        _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
 
1109
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
620
1110
        result = _data_->result;
 
1111
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
621
1112
        _data_->result = NULL;
 
1113
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
622
1114
        return result;
 
1115
#line 1116 "rygel-searchable-container.c"
623
1116
}
624
1117
 
625
1118
 
634
1127
     * return the found media object.
635
1128
     */
636
1129
static void rygel_searchable_container_find_object_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
637
 
        RygelSearchableContainerFindObjectData* data;
638
 
        data = _user_data_;
639
 
        data->_source_object_ = source_object;
640
 
        data->_res_ = _res_;
641
 
        rygel_searchable_container_find_object_co (data);
 
1130
        RygelSearchableContainerFindObjectData* _data_;
 
1131
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1132
        _data_ = _user_data_;
 
1133
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1134
        _data_->_source_object_ = source_object;
 
1135
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1136
        _data_->_res_ = _res_;
 
1137
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1138
        rygel_searchable_container_find_object_co (_data_);
 
1139
#line 1140 "rygel-searchable-container.c"
642
1140
}
643
1141
 
644
1142
 
645
 
static gboolean rygel_searchable_container_find_object_co (RygelSearchableContainerFindObjectData* data) {
646
 
        switch (data->_state_) {
 
1143
static gboolean rygel_searchable_container_find_object_co (RygelSearchableContainerFindObjectData* _data_) {
 
1144
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1145
        switch (_data_->_state_) {
 
1146
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
647
1147
                case 0:
 
1148
#line 1149 "rygel-searchable-container.c"
648
1149
                goto _state_0;
 
1150
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
649
1151
                case 1:
 
1152
#line 1153 "rygel-searchable-container.c"
650
1153
                goto _state_1;
651
1154
                default:
 
1155
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
652
1156
                g_assert_not_reached ();
 
1157
#line 1158 "rygel-searchable-container.c"
653
1158
        }
654
1159
        _state_0:
655
 
        data->_tmp0_ = NULL;
656
 
        data->_tmp0_ = rygel_relational_expression_new ();
657
 
        data->expression = data->_tmp0_;
658
 
        ((RygelSearchExpression*) data->expression)->op = GINT_TO_POINTER (GUPNP_SEARCH_CRITERIA_OP_EQ);
659
 
        data->_tmp1_ = g_strdup ("@id");
660
 
        _g_free0 (((RygelSearchExpression*) data->expression)->operand1);
661
 
        ((RygelSearchExpression*) data->expression)->operand1 = data->_tmp1_;
662
 
        data->_tmp2_ = g_strdup (data->id);
663
 
        _g_free0 (((RygelSearchExpression*) data->expression)->operand2);
664
 
        ((RygelSearchExpression*) data->expression)->operand2 = data->_tmp2_;
665
 
        data->_state_ = 1;
666
 
        rygel_searchable_container_search (data->self, (RygelSearchExpression*) data->expression, (guint) 0, (guint) 1, data->cancellable, rygel_searchable_container_find_object_ready, data);
 
1160
#line 151 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1161
        _data_->_tmp0_ = rygel_relational_expression_new ();
 
1162
#line 151 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1163
        _data_->expression = _data_->_tmp0_;
 
1164
#line 152 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1165
        ((RygelSearchExpression*) _data_->expression)->op = GINT_TO_POINTER (GUPNP_SEARCH_CRITERIA_OP_EQ);
 
1166
#line 153 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1167
        _data_->_tmp1_ = g_strdup ("@id");
 
1168
#line 153 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1169
        _g_free0 (((RygelSearchExpression*) _data_->expression)->operand1);
 
1170
#line 153 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1171
        ((RygelSearchExpression*) _data_->expression)->operand1 = _data_->_tmp1_;
 
1172
#line 154 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1173
        _data_->_tmp2_ = _data_->id;
 
1174
#line 154 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1175
        _data_->_tmp3_ = g_strdup (_data_->_tmp2_);
 
1176
#line 154 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1177
        _g_free0 (((RygelSearchExpression*) _data_->expression)->operand2);
 
1178
#line 154 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1179
        ((RygelSearchExpression*) _data_->expression)->operand2 = _data_->_tmp3_;
 
1180
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1181
        _data_->_tmp4_ = _data_->cancellable;
 
1182
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1183
        _data_->_tmp5_ = 0U;
 
1184
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1185
        _data_->_state_ = 1;
 
1186
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1187
        rygel_searchable_container_search (_data_->self, (RygelSearchExpression*) _data_->expression, (guint) 0, (guint) 1, _data_->_tmp4_, rygel_searchable_container_find_object_ready, _data_);
 
1188
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
667
1189
        return FALSE;
 
1190
#line 1191 "rygel-searchable-container.c"
668
1191
        _state_1:
669
 
        data->_tmp4_ = NULL;
670
 
        data->_tmp4_ = rygel_searchable_container_search_finish (data->self, data->_res_, &data->_tmp3_, &data->_inner_error_);
671
 
        data->total_matches = data->_tmp3_;
672
 
        data->results = data->_tmp4_;
673
 
        if (data->_inner_error_ != NULL) {
674
 
                g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
675
 
                g_error_free (data->_inner_error_);
676
 
                _rygel_search_expression_unref0 (data->expression);
677
 
                if (data->_state_ == 0) {
678
 
                        g_simple_async_result_complete_in_idle (data->_async_result);
679
 
                } else {
680
 
                        g_simple_async_result_complete (data->_async_result);
681
 
                }
682
 
                g_object_unref (data->_async_result);
683
 
                return FALSE;
684
 
        }
685
 
        data->_tmp5_ = gee_collection_get_size ((GeeCollection*) data->results);
686
 
        if (data->_tmp5_ > 0) {
687
 
                data->_tmp6_ = NULL;
688
 
                data->_tmp6_ = gee_abstract_list_get ((GeeAbstractList*) data->results, 0);
689
 
                data->result = (RygelMediaObject*) data->_tmp6_;
690
 
                _g_object_unref0 (data->results);
691
 
                _rygel_search_expression_unref0 (data->expression);
692
 
                if (data->_state_ == 0) {
693
 
                        g_simple_async_result_complete_in_idle (data->_async_result);
694
 
                } else {
695
 
                        g_simple_async_result_complete (data->_async_result);
696
 
                }
697
 
                g_object_unref (data->_async_result);
698
 
                return FALSE;
699
 
        } else {
700
 
                data->result = NULL;
701
 
                _g_object_unref0 (data->results);
702
 
                _rygel_search_expression_unref0 (data->expression);
703
 
                if (data->_state_ == 0) {
704
 
                        g_simple_async_result_complete_in_idle (data->_async_result);
705
 
                } else {
706
 
                        g_simple_async_result_complete (data->_async_result);
707
 
                }
708
 
                g_object_unref (data->_async_result);
709
 
                return FALSE;
710
 
        }
711
 
        _g_object_unref0 (data->results);
712
 
        _rygel_search_expression_unref0 (data->expression);
713
 
        if (data->_state_ == 0) {
714
 
                g_simple_async_result_complete_in_idle (data->_async_result);
715
 
        } else {
716
 
                g_simple_async_result_complete (data->_async_result);
717
 
        }
718
 
        g_object_unref (data->_async_result);
 
1192
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1193
        _data_->_tmp6_ = NULL;
 
1194
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1195
        _data_->_tmp6_ = rygel_searchable_container_search_finish (_data_->self, _data_->_res_, &_data_->_tmp5_, &_data_->_inner_error_);
 
1196
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1197
        _data_->total_matches = _data_->_tmp5_;
 
1198
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1199
        _data_->results = _data_->_tmp6_;
 
1200
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1201
        if (_data_->_inner_error_ != NULL) {
 
1202
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1203
                g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
 
1204
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1205
                g_error_free (_data_->_inner_error_);
 
1206
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1207
                _rygel_search_expression_unref0 (_data_->expression);
 
1208
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1209
                if (_data_->_state_ == 0) {
 
1210
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1211
                        g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1212
#line 1213 "rygel-searchable-container.c"
 
1213
                } else {
 
1214
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1215
                        g_simple_async_result_complete (_data_->_async_result);
 
1216
#line 1217 "rygel-searchable-container.c"
 
1217
                }
 
1218
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1219
                g_object_unref (_data_->_async_result);
 
1220
#line 157 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1221
                return FALSE;
 
1222
#line 1223 "rygel-searchable-container.c"
 
1223
        }
 
1224
#line 162 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1225
        _data_->_tmp7_ = gee_collection_get_size ((GeeCollection*) _data_->results);
 
1226
#line 162 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1227
        _data_->_tmp8_ = _data_->_tmp7_;
 
1228
#line 162 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1229
        if (_data_->_tmp8_ > 0) {
 
1230
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1231
                _data_->_tmp9_ = NULL;
 
1232
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1233
                _data_->_tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _data_->results, 0);
 
1234
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1235
                _data_->result = (RygelMediaObject*) _data_->_tmp9_;
 
1236
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1237
                _g_object_unref0 (_data_->results);
 
1238
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1239
                _rygel_search_expression_unref0 (_data_->expression);
 
1240
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1241
                if (_data_->_state_ == 0) {
 
1242
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1243
                        g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1244
#line 1245 "rygel-searchable-container.c"
 
1245
                } else {
 
1246
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1247
                        g_simple_async_result_complete (_data_->_async_result);
 
1248
#line 1249 "rygel-searchable-container.c"
 
1249
                }
 
1250
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1251
                g_object_unref (_data_->_async_result);
 
1252
#line 163 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1253
                return FALSE;
 
1254
#line 1255 "rygel-searchable-container.c"
 
1255
        } else {
 
1256
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1257
                _data_->result = NULL;
 
1258
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1259
                _g_object_unref0 (_data_->results);
 
1260
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1261
                _rygel_search_expression_unref0 (_data_->expression);
 
1262
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1263
                if (_data_->_state_ == 0) {
 
1264
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1265
                        g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1266
#line 1267 "rygel-searchable-container.c"
 
1267
                } else {
 
1268
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1269
                        g_simple_async_result_complete (_data_->_async_result);
 
1270
#line 1271 "rygel-searchable-container.c"
 
1271
                }
 
1272
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1273
                g_object_unref (_data_->_async_result);
 
1274
#line 165 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1275
                return FALSE;
 
1276
#line 1277 "rygel-searchable-container.c"
 
1277
        }
 
1278
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1279
        _g_object_unref0 (_data_->results);
 
1280
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1281
        _rygel_search_expression_unref0 (_data_->expression);
 
1282
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1283
        if (_data_->_state_ == 0) {
 
1284
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1285
                g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1286
#line 1287 "rygel-searchable-container.c"
 
1287
        } else {
 
1288
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1289
                g_simple_async_result_complete (_data_->_async_result);
 
1290
#line 1291 "rygel-searchable-container.c"
 
1291
        }
 
1292
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1293
        g_object_unref (_data_->_async_result);
 
1294
#line 148 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
719
1295
        return FALSE;
 
1296
#line 1297 "rygel-searchable-container.c"
720
1297
}
721
1298
 
722
1299
 
723
1300
static void rygel_searchable_container_search_in_children_data_free (gpointer _data) {
724
 
        RygelSearchableContainerSearchInChildrenData* data;
725
 
        data = _data;
726
 
        _rygel_search_expression_unref0 (data->expression);
727
 
        _g_object_unref0 (data->children);
728
 
        _g_object_unref0 (data->cancellable);
729
 
        _g_object_unref0 (data->result);
730
 
        _g_object_unref0 (data->self);
731
 
        g_slice_free (RygelSearchableContainerSearchInChildrenData, data);
 
1301
        RygelSearchableContainerSearchInChildrenData* _data_;
 
1302
        _data_ = _data;
 
1303
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1304
        _rygel_search_expression_unref0 (_data_->expression);
 
1305
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1306
        _g_object_unref0 (_data_->children);
 
1307
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1308
        _g_object_unref0 (_data_->cancellable);
 
1309
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1310
        _g_object_unref0 (_data_->result);
 
1311
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1312
        _g_object_unref0 (_data_->self);
 
1313
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1314
        g_slice_free (RygelSearchableContainerSearchInChildrenData, _data_);
 
1315
#line 1316 "rygel-searchable-container.c"
732
1316
}
733
1317
 
734
1318
 
735
1319
static void rygel_searchable_container_search_in_children (RygelSearchableContainer* self, RygelSearchExpression* expression, RygelMediaObjects* children, guint limit, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
736
1320
        RygelSearchableContainerSearchInChildrenData* _data_;
 
1321
        RygelSearchableContainer* _tmp0_;
 
1322
        RygelSearchExpression* _tmp1_;
 
1323
        RygelSearchExpression* _tmp2_;
 
1324
        RygelMediaObjects* _tmp3_;
 
1325
        RygelMediaObjects* _tmp4_;
 
1326
        guint _tmp5_;
 
1327
        GCancellable* _tmp6_;
 
1328
        GCancellable* _tmp7_;
 
1329
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
737
1330
        _data_ = g_slice_new0 (RygelSearchableContainerSearchInChildrenData);
 
1331
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
738
1332
        _data_->_async_result = g_simple_async_result_new (g_object_newv (G_TYPE_OBJECT, 0, NULL), _callback_, _user_data_, rygel_searchable_container_search_in_children);
 
1333
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
739
1334
        g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, rygel_searchable_container_search_in_children_data_free);
740
 
        _data_->self = _g_object_ref0 (self);
741
 
        _data_->expression = _rygel_search_expression_ref0 (expression);
742
 
        _data_->children = _g_object_ref0 (children);
743
 
        _data_->limit = limit;
744
 
        _data_->cancellable = _g_object_ref0 (cancellable);
 
1335
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1336
        _tmp0_ = _g_object_ref0 (self);
 
1337
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1338
        _data_->self = _tmp0_;
 
1339
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1340
        _tmp1_ = expression;
 
1341
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1342
        _tmp2_ = _rygel_search_expression_ref0 (_tmp1_);
 
1343
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1344
        _data_->expression = _tmp2_;
 
1345
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1346
        _tmp3_ = children;
 
1347
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1348
        _tmp4_ = _g_object_ref0 (_tmp3_);
 
1349
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1350
        _data_->children = _tmp4_;
 
1351
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1352
        _tmp5_ = limit;
 
1353
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1354
        _data_->limit = _tmp5_;
 
1355
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1356
        _tmp6_ = cancellable;
 
1357
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1358
        _tmp7_ = _g_object_ref0 (_tmp6_);
 
1359
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1360
        _data_->cancellable = _tmp7_;
 
1361
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
745
1362
        rygel_searchable_container_search_in_children_co (_data_);
 
1363
#line 1364 "rygel-searchable-container.c"
746
1364
}
747
1365
 
748
1366
 
749
1367
static RygelMediaObjects* rygel_searchable_container_search_in_children_finish (RygelSearchableContainer* self, GAsyncResult* _res_, GError** error) {
750
1368
        RygelMediaObjects* result;
751
1369
        RygelSearchableContainerSearchInChildrenData* _data_;
 
1370
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
752
1371
        if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
 
1372
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
753
1373
                return NULL;
 
1374
#line 1375 "rygel-searchable-container.c"
754
1375
        }
 
1376
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
755
1377
        _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
 
1378
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
756
1379
        result = _data_->result;
 
1380
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
757
1381
        _data_->result = NULL;
 
1382
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
758
1383
        return result;
 
1384
#line 1385 "rygel-searchable-container.c"
759
1385
}
760
1386
 
761
1387
 
762
1388
static void rygel_searchable_container_search_in_children_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
763
 
        RygelSearchableContainerSearchInChildrenData* data;
764
 
        data = _user_data_;
765
 
        data->_source_object_ = source_object;
766
 
        data->_res_ = _res_;
767
 
        rygel_searchable_container_search_in_children_co (data);
 
1389
        RygelSearchableContainerSearchInChildrenData* _data_;
 
1390
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1391
        _data_ = _user_data_;
 
1392
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1393
        _data_->_source_object_ = source_object;
 
1394
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1395
        _data_->_res_ = _res_;
 
1396
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1397
        rygel_searchable_container_search_in_children_co (_data_);
 
1398
#line 1399 "rygel-searchable-container.c"
768
1399
}
769
1400
 
770
1401
 
771
 
static gboolean rygel_searchable_container_search_in_children_co (RygelSearchableContainerSearchInChildrenData* data) {
772
 
        switch (data->_state_) {
 
1402
static gboolean rygel_searchable_container_search_in_children_co (RygelSearchableContainerSearchInChildrenData* _data_) {
 
1403
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1404
        switch (_data_->_state_) {
 
1405
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
773
1406
                case 0:
 
1407
#line 1408 "rygel-searchable-container.c"
774
1408
                goto _state_0;
 
1409
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
775
1410
                case 1:
 
1411
#line 1412 "rygel-searchable-container.c"
776
1412
                goto _state_1;
777
1413
                default:
 
1414
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
778
1415
                g_assert_not_reached ();
 
1416
#line 1417 "rygel-searchable-container.c"
779
1417
        }
780
1418
        _state_0:
781
 
        data->_tmp0_ = NULL;
782
 
        data->_tmp0_ = rygel_media_objects_new ();
783
 
        data->_result_ = data->_tmp0_;
 
1419
#line 174 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1420
        _data_->_tmp0_ = rygel_media_objects_new ();
 
1421
#line 174 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1422
        _data_->_result_ = _data_->_tmp0_;
 
1423
#line 1424 "rygel-searchable-container.c"
784
1424
        {
785
 
                data->_tmp1_ = _g_object_ref0 (data->children);
786
 
                data->_child_list = data->_tmp1_;
787
 
                data->_tmp2_ = gee_collection_get_size ((GeeCollection*) data->_child_list);
788
 
                data->_child_size = data->_tmp2_;
789
 
                data->_child_index = -1;
 
1425
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1426
                _data_->_tmp1_ = _data_->children;
 
1427
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1428
                _data_->_tmp2_ = _g_object_ref0 (_data_->_tmp1_);
 
1429
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1430
                _data_->_child_list = _data_->_tmp2_;
 
1431
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1432
                _data_->_tmp3_ = _data_->_child_list;
 
1433
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1434
                _data_->_tmp4_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp3_);
 
1435
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1436
                _data_->_tmp5_ = _data_->_tmp4_;
 
1437
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1438
                _data_->_child_size = _data_->_tmp5_;
 
1439
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1440
                _data_->_child_index = -1;
 
1441
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
790
1442
                while (TRUE) {
791
 
                        data->_child_index = data->_child_index + 1;
792
 
                        if (!(data->_child_index < data->_child_size)) {
 
1443
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1444
                        _data_->_tmp6_ = _data_->_child_index;
 
1445
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1446
                        _data_->_child_index = _data_->_tmp6_ + 1;
 
1447
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1448
                        _data_->_tmp7_ = _data_->_child_index;
 
1449
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1450
                        _data_->_tmp8_ = _data_->_child_size;
 
1451
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1452
                        if (!(_data_->_tmp7_ < _data_->_tmp8_)) {
 
1453
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
793
1454
                                break;
 
1455
#line 1456 "rygel-searchable-container.c"
794
1456
                        }
795
 
                        data->_tmp3_ = NULL;
796
 
                        data->_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) data->_child_list, data->_child_index);
797
 
                        data->child = (RygelMediaObject*) data->_tmp3_;
798
 
                        if (RYGEL_IS_SEARCHABLE_CONTAINER (data->child)) {
799
 
                                data->_tmp4_ = data->child;
800
 
                                data->_tmp5_ = _g_object_ref0 (RYGEL_IS_SEARCHABLE_CONTAINER (data->_tmp4_) ? ((RygelSearchableContainer*) data->_tmp4_) : NULL);
801
 
                                data->container = data->_tmp5_;
802
 
                                data->_state_ = 1;
803
 
                                rygel_searchable_container_search (data->container, data->expression, (guint) 0, data->limit, data->cancellable, rygel_searchable_container_search_in_children_ready, data);
 
1457
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1458
                        _data_->_tmp9_ = _data_->_child_list;
 
1459
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1460
                        _data_->_tmp10_ = _data_->_child_index;
 
1461
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1462
                        _data_->_tmp11_ = NULL;
 
1463
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1464
                        _data_->_tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _data_->_tmp9_, _data_->_tmp10_);
 
1465
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1466
                        _data_->child = (RygelMediaObject*) _data_->_tmp11_;
 
1467
#line 177 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1468
                        _data_->_tmp12_ = _data_->child;
 
1469
#line 177 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1470
                        if (RYGEL_IS_SEARCHABLE_CONTAINER (_data_->_tmp12_)) {
 
1471
#line 178 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1472
                                _data_->_tmp13_ = _data_->child;
 
1473
#line 178 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1474
                                _data_->_tmp14_ = _g_object_ref0 (RYGEL_IS_SEARCHABLE_CONTAINER (_data_->_tmp13_) ? ((RygelSearchableContainer*) _data_->_tmp13_) : NULL);
 
1475
#line 178 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1476
                                _data_->container = _data_->_tmp14_;
 
1477
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1478
                                _data_->_tmp15_ = _data_->container;
 
1479
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1480
                                _data_->_tmp16_ = _data_->expression;
 
1481
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1482
                                _data_->_tmp17_ = _data_->limit;
 
1483
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1484
                                _data_->_tmp18_ = _data_->cancellable;
 
1485
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1486
                                _data_->_tmp19_ = 0U;
 
1487
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1488
                                _data_->_state_ = 1;
 
1489
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1490
                                rygel_searchable_container_search (_data_->_tmp15_, _data_->_tmp16_, (guint) 0, _data_->_tmp17_, _data_->_tmp18_, rygel_searchable_container_search_in_children_ready, _data_);
 
1491
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
804
1492
                                return FALSE;
 
1493
#line 1494 "rygel-searchable-container.c"
805
1494
                                _state_1:
806
 
                                data->_tmp7_ = NULL;
807
 
                                data->_tmp7_ = rygel_searchable_container_search_finish (data->container, data->_res_, &data->_tmp6_, &data->_inner_error_);
808
 
                                data->tmp = data->_tmp6_;
809
 
                                data->child_result = data->_tmp7_;
810
 
                                if (data->_inner_error_ != NULL) {
811
 
                                        g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
812
 
                                        g_error_free (data->_inner_error_);
813
 
                                        _g_object_unref0 (data->container);
814
 
                                        _g_object_unref0 (data->child);
815
 
                                        _g_object_unref0 (data->_child_list);
816
 
                                        _g_object_unref0 (data->_result_);
817
 
                                        if (data->_state_ == 0) {
818
 
                                                g_simple_async_result_complete_in_idle (data->_async_result);
 
1495
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1496
                                _data_->_tmp20_ = NULL;
 
1497
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1498
                                _data_->_tmp20_ = rygel_searchable_container_search_finish (_data_->_tmp15_, _data_->_res_, &_data_->_tmp19_, &_data_->_inner_error_);
 
1499
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1500
                                _data_->tmp = _data_->_tmp19_;
 
1501
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1502
                                _data_->child_result = _data_->_tmp20_;
 
1503
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1504
                                if (_data_->_inner_error_ != NULL) {
 
1505
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1506
                                        g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
 
1507
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1508
                                        g_error_free (_data_->_inner_error_);
 
1509
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1510
                                        _g_object_unref0 (_data_->container);
 
1511
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1512
                                        _g_object_unref0 (_data_->child);
 
1513
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1514
                                        _g_object_unref0 (_data_->_child_list);
 
1515
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1516
                                        _g_object_unref0 (_data_->_result_);
 
1517
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1518
                                        if (_data_->_state_ == 0) {
 
1519
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1520
                                                g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1521
#line 1522 "rygel-searchable-container.c"
819
1522
                                        } else {
820
 
                                                g_simple_async_result_complete (data->_async_result);
 
1523
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1524
                                                g_simple_async_result_complete (_data_->_async_result);
 
1525
#line 1526 "rygel-searchable-container.c"
821
1526
                                        }
822
 
                                        g_object_unref (data->_async_result);
 
1527
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1528
                                        g_object_unref (_data_->_async_result);
 
1529
#line 181 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
823
1530
                                        return FALSE;
 
1531
#line 1532 "rygel-searchable-container.c"
824
1532
                                }
825
 
                                gee_abstract_collection_add_all ((GeeAbstractCollection*) data->_result_, (GeeCollection*) data->child_result);
826
 
                                _g_object_unref0 (data->child_result);
827
 
                                _g_object_unref0 (data->container);
 
1533
#line 187 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1534
                                _data_->_tmp21_ = _data_->_result_;
 
1535
#line 187 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1536
                                _data_->_tmp22_ = _data_->child_result;
 
1537
#line 187 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1538
                                gee_abstract_collection_add_all ((GeeAbstractCollection*) _data_->_tmp21_, (GeeCollection*) _data_->_tmp22_);
 
1539
#line 177 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1540
                                _g_object_unref0 (_data_->child_result);
 
1541
#line 177 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1542
                                _g_object_unref0 (_data_->container);
 
1543
#line 1544 "rygel-searchable-container.c"
828
1544
                        }
829
 
                        if (data->limit > 0) {
830
 
                                data->_tmp9_ = gee_collection_get_size ((GeeCollection*) data->_result_);
831
 
                                data->_tmp8_ = data->_tmp9_ >= data->limit;
 
1545
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1546
                        _data_->_tmp24_ = _data_->limit;
 
1547
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1548
                        if (_data_->_tmp24_ > ((guint) 0)) {
 
1549
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1550
                                _data_->_tmp25_ = _data_->_result_;
 
1551
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1552
                                _data_->_tmp26_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp25_);
 
1553
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1554
                                _data_->_tmp27_ = _data_->_tmp26_;
 
1555
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1556
                                _data_->_tmp28_ = _data_->limit;
 
1557
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1558
                                _data_->_tmp23_ = ((guint) _data_->_tmp27_) >= _data_->_tmp28_;
 
1559
#line 1560 "rygel-searchable-container.c"
832
1560
                        } else {
833
 
                                data->_tmp8_ = FALSE;
834
 
                        }
835
 
                        if (data->_tmp8_) {
836
 
                                _g_object_unref0 (data->child);
837
 
                                break;
838
 
                        }
839
 
                        _g_object_unref0 (data->child);
840
 
                }
841
 
                _g_object_unref0 (data->_child_list);
842
 
        }
843
 
        data->result = data->_result_;
844
 
        if (data->_state_ == 0) {
845
 
                g_simple_async_result_complete_in_idle (data->_async_result);
846
 
        } else {
847
 
                g_simple_async_result_complete (data->_async_result);
848
 
        }
849
 
        g_object_unref (data->_async_result);
850
 
        return FALSE;
851
 
        _g_object_unref0 (data->_result_);
852
 
        if (data->_state_ == 0) {
853
 
                g_simple_async_result_complete_in_idle (data->_async_result);
854
 
        } else {
855
 
                g_simple_async_result_complete (data->_async_result);
856
 
        }
857
 
        g_object_unref (data->_async_result);
858
 
        return FALSE;
 
1561
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1562
                                _data_->_tmp23_ = FALSE;
 
1563
#line 1564 "rygel-searchable-container.c"
 
1564
                        }
 
1565
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1566
                        _data_->_tmp29_ = _data_->_tmp23_;
 
1567
#line 190 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1568
                        if (_data_->_tmp29_) {
 
1569
#line 191 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1570
                                _g_object_unref0 (_data_->child);
 
1571
#line 191 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1572
                                break;
 
1573
#line 1574 "rygel-searchable-container.c"
 
1574
                        }
 
1575
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1576
                        _g_object_unref0 (_data_->child);
 
1577
#line 1578 "rygel-searchable-container.c"
 
1578
                }
 
1579
#line 176 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1580
                _g_object_unref0 (_data_->_child_list);
 
1581
#line 1582 "rygel-searchable-container.c"
 
1582
        }
 
1583
#line 195 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1584
        _data_->result = _data_->_result_;
 
1585
#line 195 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1586
        if (_data_->_state_ == 0) {
 
1587
#line 195 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1588
                g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1589
#line 1590 "rygel-searchable-container.c"
 
1590
        } else {
 
1591
#line 195 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1592
                g_simple_async_result_complete (_data_->_async_result);
 
1593
#line 1594 "rygel-searchable-container.c"
 
1594
        }
 
1595
#line 195 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1596
        g_object_unref (_data_->_async_result);
 
1597
#line 195 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1598
        return FALSE;
 
1599
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1600
        _g_object_unref0 (_data_->_result_);
 
1601
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1602
        if (_data_->_state_ == 0) {
 
1603
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1604
                g_simple_async_result_complete_in_idle (_data_->_async_result);
 
1605
#line 1606 "rygel-searchable-container.c"
 
1606
        } else {
 
1607
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1608
                g_simple_async_result_complete (_data_->_async_result);
 
1609
#line 1610 "rygel-searchable-container.c"
 
1610
        }
 
1611
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1612
        g_object_unref (_data_->_async_result);
 
1613
#line 169 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1614
        return FALSE;
 
1615
#line 1616 "rygel-searchable-container.c"
 
1616
}
 
1617
 
 
1618
 
 
1619
void rygel_searchable_container_serialize_search_parameters (RygelSearchableContainer* self, GUPnPDIDLLiteContainer* didl_container) {
 
1620
#line 198 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1621
        g_return_if_fail (didl_container != NULL);
 
1622
#line 1623 "rygel-searchable-container.c"
 
1623
        {
 
1624
                GeeArrayList* _tmp0_;
 
1625
                GeeArrayList* _tmp1_;
 
1626
                GeeArrayList* _tmp2_;
 
1627
                GeeArrayList* _search_class_list;
 
1628
                GeeArrayList* _tmp3_;
 
1629
                gint _tmp4_;
 
1630
                gint _tmp5_;
 
1631
                gint _search_class_size;
 
1632
                gint _search_class_index;
 
1633
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1634
                _tmp0_ = rygel_searchable_container_get_search_classes (self);
 
1635
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1636
                _tmp1_ = _tmp0_;
 
1637
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1638
                _tmp2_ = _g_object_ref0 (_tmp1_);
 
1639
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1640
                _search_class_list = _tmp2_;
 
1641
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1642
                _tmp3_ = _search_class_list;
 
1643
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1644
                _tmp4_ = gee_collection_get_size ((GeeCollection*) _tmp3_);
 
1645
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1646
                _tmp5_ = _tmp4_;
 
1647
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1648
                _search_class_size = _tmp5_;
 
1649
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1650
                _search_class_index = -1;
 
1651
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1652
                while (TRUE) {
 
1653
#line 1654 "rygel-searchable-container.c"
 
1654
                        gint _tmp6_;
 
1655
                        gint _tmp7_;
 
1656
                        gint _tmp8_;
 
1657
                        GeeArrayList* _tmp9_;
 
1658
                        gint _tmp10_;
 
1659
                        gpointer _tmp11_ = NULL;
 
1660
                        gchar* search_class;
 
1661
                        GUPnPDIDLLiteContainer* _tmp12_;
 
1662
                        const gchar* _tmp13_;
 
1663
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1664
                        _tmp6_ = _search_class_index;
 
1665
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1666
                        _search_class_index = _tmp6_ + 1;
 
1667
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1668
                        _tmp7_ = _search_class_index;
 
1669
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1670
                        _tmp8_ = _search_class_size;
 
1671
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1672
                        if (!(_tmp7_ < _tmp8_)) {
 
1673
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1674
                                break;
 
1675
#line 1676 "rygel-searchable-container.c"
 
1676
                        }
 
1677
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1678
                        _tmp9_ = _search_class_list;
 
1679
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1680
                        _tmp10_ = _search_class_index;
 
1681
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1682
                        _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
 
1683
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1684
                        search_class = (gchar*) _tmp11_;
 
1685
#line 201 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1686
                        _tmp12_ = didl_container;
 
1687
#line 201 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1688
                        _tmp13_ = search_class;
 
1689
#line 201 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1690
                        gupnp_didl_lite_container_add_search_class (_tmp12_, _tmp13_);
 
1691
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1692
                        _g_free0 (search_class);
 
1693
#line 1694 "rygel-searchable-container.c"
 
1694
                }
 
1695
#line 200 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1696
                _g_object_unref0 (_search_class_list);
 
1697
#line 1698 "rygel-searchable-container.c"
 
1698
        }
 
1699
}
 
1700
 
 
1701
 
 
1702
GeeArrayList* rygel_searchable_container_get_search_classes (RygelSearchableContainer* self) {
 
1703
#line 30 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1704
        g_return_val_if_fail (self != NULL, NULL);
 
1705
#line 30 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1706
        return RYGEL_SEARCHABLE_CONTAINER_GET_INTERFACE (self)->get_search_classes (self);
 
1707
#line 1708 "rygel-searchable-container.c"
 
1708
}
 
1709
 
 
1710
 
 
1711
void rygel_searchable_container_set_search_classes (RygelSearchableContainer* self, GeeArrayList* value) {
 
1712
#line 30 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1713
        g_return_if_fail (self != NULL);
 
1714
#line 30 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1715
        RYGEL_SEARCHABLE_CONTAINER_GET_INTERFACE (self)->set_search_classes (self, value);
 
1716
#line 1717 "rygel-searchable-container.c"
859
1717
}
860
1718
 
861
1719
 
862
1720
static void rygel_searchable_container_base_init (RygelSearchableContainerIface * iface) {
 
1721
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
863
1722
        static gboolean initialized = FALSE;
 
1723
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
864
1724
        if (!initialized) {
 
1725
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
865
1726
                initialized = TRUE;
 
1727
#line 29 "/home/jens/Source/rygel/src/rygel/rygel-searchable-container.vala"
 
1728
                g_object_interface_install_property (iface, g_param_spec_object ("search-classes", "search-classes", "search-classes", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
 
1729
#line 1730 "rygel-searchable-container.c"
866
1730
        }
867
1731
}
868
1732