Exemplo n.º 1
0
static void rygel_external_container_real_search_data_free (gpointer _data) {
	RygelExternalContainerSearchData* data;
	data = _data;
	_rygel_search_expression_unref0 (data->expression);
	_g_object_unref0 (data->cancellable);
	_g_object_unref0 (data->result);
	g_object_unref (data->self);
	g_slice_free (RygelExternalContainerSearchData, data);
}
Exemplo n.º 2
0
static void rygel_media_container_search_in_children_data_free (gpointer _data) {
	RygelMediaContainerSearchInChildrenData* data;
	data = _data;
	_rygel_search_expression_unref0 (data->expression);
	_g_object_unref0 (data->children);
	_g_object_unref0 (data->cancellable);
	_g_object_unref0 (data->result);
	g_object_unref (data->self);
	g_slice_free (RygelMediaContainerSearchInChildrenData, data);
}
Exemplo n.º 3
0
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;
	}
}
Exemplo n.º 4
0
static gboolean rygel_media_container_find_object_co (RygelMediaContainerFindObjectData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 29:
		goto _state_29;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		data->expression = rygel_relational_expression_new ();
#line 220 "rygel-media-container.vala"
		((RygelSearchExpression*) data->expression)->op = GINT_TO_POINTER (GUPNP_SEARCH_CRITERIA_OP_EQ);
#line 221 "rygel-media-container.vala"
		((RygelSearchExpression*) data->expression)->operand1 = (data->_tmp0_ = g_strdup ("@id"), _g_free0 (((RygelSearchExpression*) data->expression)->operand1), data->_tmp0_);
#line 222 "rygel-media-container.vala"
		((RygelSearchExpression*) data->expression)->operand2 = (data->_tmp1_ = g_strdup (data->id), _g_free0 (((RygelSearchExpression*) data->expression)->operand2), data->_tmp1_);
#line 902 "rygel-media-container.c"
		data->_state_ = 29;
		rygel_media_container_search (data->self, (RygelSearchExpression*) data->expression, (guint) 0, (guint) 1, data->cancellable, rygel_media_container_find_object_ready, data);
		return FALSE;
		_state_29:
		data->results = rygel_media_container_search_finish (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_);
			_rygel_search_expression_unref0 (data->expression);
			{
				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 230 "rygel-media-container.vala"
		if (gee_collection_get_size ((GeeCollection*) data->results) > 0) {
#line 924 "rygel-media-container.c"
			data->result = (RygelMediaObject*) gee_list_get (data->results, 0);
			_rygel_search_expression_unref0 (data->expression);
			_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;
			}
		} else {
			data->result = NULL;
			_rygel_search_expression_unref0 (data->expression);
			_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;
			}
		}
		_rygel_search_expression_unref0 (data->expression);
		_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;
	}
}