static void rygel_folder_container_class_init (RygelFolderContainerClass * klass) { rygel_folder_container_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (RygelFolderContainerPrivate)); RYGEL_MEDIA_CONTAINER_CLASS (klass)->get_children = rygel_folder_container_real_get_children; RYGEL_MEDIA_CONTAINER_CLASS (klass)->get_children_finish = rygel_folder_container_real_get_children_finish; RYGEL_MEDIA_CONTAINER_CLASS (klass)->find_object = rygel_folder_container_real_find_object; RYGEL_MEDIA_CONTAINER_CLASS (klass)->find_object_finish = rygel_folder_container_real_find_object_finish; G_OBJECT_CLASS (klass)->finalize = rygel_folder_container_finalize; }
static void rygel_external_container_class_init (RygelExternalContainerClass * klass) { rygel_external_container_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (RygelExternalContainerPrivate)); RYGEL_MEDIA_CONTAINER_CLASS (klass)->get_children = rygel_external_container_real_get_children; RYGEL_MEDIA_CONTAINER_CLASS (klass)->get_children_finish = rygel_external_container_real_get_children_finish; RYGEL_MEDIA_CONTAINER_CLASS (klass)->search = rygel_external_container_real_search; RYGEL_MEDIA_CONTAINER_CLASS (klass)->search_finish = rygel_external_container_real_search_finish; G_OBJECT_CLASS (klass)->finalize = rygel_external_container_finalize; }
static void rygel_media_container_class_init (RygelMediaContainerClass * klass) { rygel_media_container_parent_class = g_type_class_peek_parent (klass); RYGEL_MEDIA_CONTAINER_CLASS (klass)->search = rygel_media_container_real_search; RYGEL_MEDIA_CONTAINER_CLASS (klass)->search_finish = rygel_media_container_real_search_finish; RYGEL_MEDIA_CONTAINER_CLASS (klass)->add_item = rygel_media_container_real_add_item; RYGEL_MEDIA_CONTAINER_CLASS (klass)->add_item_finish = rygel_media_container_real_add_item_finish; G_OBJECT_CLASS (klass)->finalize = rygel_media_container_finalize; g_signal_new ("container_updated", RYGEL_TYPE_MEDIA_CONTAINER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, RYGEL_TYPE_MEDIA_CONTAINER); }
static gboolean rygel_external_container_real_search_co (RygelExternalContainerSearchData* data) { switch (data->_state_) { case 0: goto _state_0; case 2: goto _state_2; case 3: goto _state_3; case 4: goto _state_4; default: g_assert_not_reached (); } _state_0: { data->results = gee_array_list_new (RYGEL_TYPE_MEDIA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL); #line 116 "rygel-external-container.vala" if (data->expression == NULL) { #line 116 "rygel-external-container.vala" data->_tmp0_ = TRUE; #line 553 "rygel-external-container.c" } else { #line 116 "rygel-external-container.vala" data->_tmp0_ = !RYGEL_IS_RELATIONAL_EXPRESSION (data->expression); #line 557 "rygel-external-container.c" } #line 116 "rygel-external-container.vala" if (data->_tmp0_) { #line 561 "rygel-external-container.c" data->_state_ = 2; RYGEL_MEDIA_CONTAINER_CLASS (rygel_external_container_parent_class)->search (RYGEL_MEDIA_CONTAINER (data->self), data->expression, data->offset, data->max_count, data->cancellable, rygel_external_container_search_ready, data); return FALSE; _state_2: data->_tmp1_ = RYGEL_MEDIA_CONTAINER_CLASS (rygel_external_container_parent_class)->search_finish (RYGEL_MEDIA_CONTAINER (data->self), data->_res_, &data->total_matches, &data->_inner_error_); if (data->_inner_error_ != NULL) { g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_); g_error_free (data->_inner_error_); _g_object_unref0 (data->results); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } data->result = data->_tmp1_; _g_object_unref0 (data->results); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } data->rel_expression = _rygel_search_expression_ref0 ((data->_tmp2_ = data->expression, RYGEL_IS_RELATIONAL_EXPRESSION (data->_tmp2_) ? ((RygelRelationalExpression*) data->_tmp2_) : NULL)); data->id = g_strdup ((const char*) ((RygelSearchExpression*) data->rel_expression)->operand2); #line 128 "rygel-external-container.vala" if (_vala_strcmp0 ((const char*) ((RygelSearchExpression*) data->rel_expression)->operand1, "@id") != 0) { #line 128 "rygel-external-container.vala" data->_tmp4_ = TRUE; #line 599 "rygel-external-container.c" } else { #line 129 "rygel-external-container.vala" data->_tmp4_ = GPOINTER_TO_INT (((RygelSearchExpression*) data->rel_expression)->op) != GUPNP_SEARCH_CRITERIA_OP_EQ; #line 603 "rygel-external-container.c" } #line 128 "rygel-external-container.vala" if (data->_tmp4_) { #line 128 "rygel-external-container.vala" data->_tmp3_ = TRUE; #line 609 "rygel-external-container.c" } else { #line 130 "rygel-external-container.vala" data->_tmp3_ = !rygel_external_container_is_direct_child (data->self, data->id); #line 613 "rygel-external-container.c" } #line 128 "rygel-external-container.vala" if (data->_tmp3_) { #line 617 "rygel-external-container.c" data->_state_ = 3; RYGEL_MEDIA_CONTAINER_CLASS (rygel_external_container_parent_class)->search (RYGEL_MEDIA_CONTAINER (data->self), data->expression, data->offset, data->max_count, data->cancellable, rygel_external_container_search_ready, data); return FALSE; _state_3: data->_tmp5_ = RYGEL_MEDIA_CONTAINER_CLASS (rygel_external_container_parent_class)->search_finish (RYGEL_MEDIA_CONTAINER (data->self), data->_res_, &data->total_matches, &data->_inner_error_); if (data->_inner_error_ != NULL) { g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_); g_error_free (data->_inner_error_); _g_object_unref0 (data->results); _rygel_search_expression_unref0 (data->rel_expression); _g_free0 (data->id); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } data->result = data->_tmp5_; _g_object_unref0 (data->results); _rygel_search_expression_unref0 (data->rel_expression); _g_free0 (data->id); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } data->factory = rygel_external_item_factory_new (); #line 140 "rygel-external-container.vala" if (rygel_external_item_factory_id_valid (data->id)) { #line 656 "rygel-external-container.c" data->_state_ = 4; rygel_external_item_factory_create_for_id (data->factory, data->id, data->self, rygel_external_container_search_ready, data); return FALSE; _state_4: data->media_object = rygel_external_item_factory_create_for_id_finish (data->factory, data->_res_, &data->_inner_error_); if (data->_inner_error_ != NULL) { g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_); g_error_free (data->_inner_error_); _g_object_unref0 (data->results); _rygel_search_expression_unref0 (data->rel_expression); _g_free0 (data->id); _rygel_external_item_factory_unref0 (data->factory); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } } #line 142 "rygel-external-container.vala" gee_abstract_collection_add ((GeeAbstractCollection*) data->results, (RygelMediaObject*) data->media_object); #line 681 "rygel-external-container.c" _g_object_unref0 (data->media_object); } else { { data->_container_it = gee_abstract_collection_iterator ((GeeAbstractCollection*) data->self->priv->containers); #line 144 "rygel-external-container.vala" while (TRUE) { #line 144 "rygel-external-container.vala" if (!gee_iterator_next (data->_container_it)) { #line 144 "rygel-external-container.vala" break; #line 692 "rygel-external-container.c" } data->container = (RygelExternalContainer*) gee_iterator_get (data->_container_it); #line 145 "rygel-external-container.vala" if (_vala_strcmp0 (((RygelMediaObject*) data->container)->id, data->id) == 0) { #line 146 "rygel-external-container.vala" gee_abstract_collection_add ((GeeAbstractCollection*) data->results, (RygelMediaObject*) data->container); #line 699 "rygel-external-container.c" } _g_object_unref0 (data->container); } _g_object_unref0 (data->_container_it); } } #line 151 "rygel-external-container.vala" data->total_matches = (guint) gee_collection_get_size ((GeeCollection*) data->results); #line 708 "rygel-external-container.c" data->result = (GeeList*) data->results; _rygel_search_expression_unref0 (data->rel_expression); _g_free0 (data->id); _rygel_external_item_factory_unref0 (data->factory); { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } _g_object_unref0 (data->results); _rygel_search_expression_unref0 (data->rel_expression); _g_free0 (data->id); _rygel_external_item_factory_unref0 (data->factory); } { if (data->_state_ == 0) { g_simple_async_result_complete_in_idle (data->_async_result); } else { g_simple_async_result_complete (data->_async_result); } g_object_unref (data->_async_result); return FALSE; } }
static void rygel_null_container_class_init (RygelNullContainerClass * klass) { rygel_null_container_parent_class = g_type_class_peek_parent (klass); RYGEL_MEDIA_CONTAINER_CLASS (klass)->get_children = rygel_null_container_real_get_children; RYGEL_MEDIA_CONTAINER_CLASS (klass)->get_children_finish = rygel_null_container_real_get_children_finish; }