Esempio n. 1
0
static void rygel_http_response_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	RygelHTTPResponse * self;
	self = RYGEL_HTTP_RESPONSE (object);
	switch (property_id) {
		case RYGEL_HTTP_RESPONSE_SERVER:
		g_value_set_object (value, rygel_http_response_get_server (self));
		break;
		case RYGEL_HTTP_RESPONSE_CANCELLABLE:
		g_value_set_object (value, rygel_state_machine_get_cancellable ((RygelStateMachine*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}
Esempio n. 2
0
RygelHTTPResponse* rygel_http_response_construct (GType object_type, SoupServer* server, SoupMessage* msg, gboolean partial, GCancellable* cancellable) {
#line 127 "rygel-http-response_seekable-response.c"
	RygelHTTPResponse * self;
	SoupMessage* _tmp0_;
#line 34 "rygel-http-response_seekable-response.vala"
	g_return_val_if_fail (server != NULL, NULL);
#line 34 "rygel-http-response_seekable-response.vala"
	g_return_val_if_fail (msg != NULL, NULL);
#line 34 "rygel-http-response_seekable-response.vala"
	self = (RygelHTTPResponse*) g_object_new (object_type, NULL);
#line 38 "rygel-http-response_seekable-response.vala"
	rygel_http_response_set_server (self, server);
#line 39 "rygel-http-response_seekable-response.vala"
	self->msg = (_tmp0_ = _g_object_ref0 (msg), _g_object_unref0 (self->msg), _tmp0_);
#line 40 "rygel-http-response_seekable-response.vala"
	rygel_state_machine_set_cancellable ((RygelStateMachine*) self, cancellable);
#line 42 "rygel-http-response_seekable-response.vala"
	if (partial) {
#line 43 "rygel-http-response_seekable-response.vala"
		soup_message_set_status (self->msg, (guint) SOUP_STATUS_PARTIAL_CONTENT);
#line 146 "rygel-http-response_seekable-response.c"
	} else {
#line 45 "rygel-http-response_seekable-response.vala"
		soup_message_set_status (self->msg, (guint) SOUP_STATUS_OK);
#line 150 "rygel-http-response_seekable-response.c"
	}
#line 48 "rygel-http-response_seekable-response.vala"
	soup_message_body_set_accumulate (self->msg->response_body, FALSE);
#line 50 "rygel-http-response_seekable-response.vala"
	if (rygel_state_machine_get_cancellable ((RygelStateMachine*) self) != NULL) {
#line 51 "rygel-http-response_seekable-response.vala"
		g_signal_connect_object (rygel_state_machine_get_cancellable ((RygelStateMachine*) self), "cancelled", (GCallback) _rygel_http_response_on_cancelled_g_cancellable_cancelled, self, 0);
#line 158 "rygel-http-response_seekable-response.c"
	}
	return self;
}
Esempio n. 3
0
static gboolean rygel_seekable_response_close_stream_co (RygelSeekableResponseCloseStreamData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 21:
		goto _state_21;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		{
			data->_state_ = 21;
			g_input_stream_close_async ((GInputStream*) data->self->priv->input_stream, data->self->priv->priority, rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self), rygel_seekable_response_close_stream_ready, data);
			return FALSE;
			_state_21:
#line 151 "rygel-seekable-response.vala"
			g_input_stream_close_finish ((GInputStream*) data->self->priv->input_stream, data->_res_, &data->_inner_error_);
#line 863 "rygel-seekable-response.c"
			if (data->_inner_error_ != NULL) {
				goto __catch38_g_error;
			}
		}
		goto __finally38;
		__catch38_g_error:
		{
			data->err = data->_inner_error_;
			data->_inner_error_ = NULL;
			{
#line 154 "rygel-seekable-response.vala"
				g_warning (_ ("Failed to close stream to URI %s: %s"), data->_tmp0_ = g_file_get_uri (data->self->priv->file), data->err->message);
#line 876 "rygel-seekable-response.c"
				_g_free0 (data->_tmp0_);
				_g_error_free0 (data->err);
			}
		}
		__finally38:
		if (data->_inner_error_ != NULL) {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code);
			g_clear_error (&data->_inner_error_);
			return FALSE;
		}
#line 159 "rygel-seekable-response.vala"
		if (rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self) == NULL) {
#line 159 "rygel-seekable-response.vala"
			data->_tmp1_ = TRUE;
#line 891 "rygel-seekable-response.c"
		} else {
#line 159 "rygel-seekable-response.vala"
			data->_tmp1_ = !g_cancellable_is_cancelled (rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self));
#line 895 "rygel-seekable-response.c"
		}
#line 159 "rygel-seekable-response.vala"
		if (data->_tmp1_) {
#line 160 "rygel-seekable-response.vala"
			rygel_http_response_end ((RygelHTTPResponse*) data->self, FALSE, (guint) SOUP_STATUS_NONE);
#line 901 "rygel-seekable-response.c"
		}
	}
	{
		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;
	}
}
Esempio n. 4
0
static gboolean rygel_seekable_response_read_contents_co (RygelSeekableResponseReadContentsData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 18:
		goto _state_18;
		case 19:
		goto _state_19;
		case 20:
		goto _state_20;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		data->_state_ = 18;
		g_input_stream_read_async ((GInputStream*) data->self->priv->input_stream, data->self->priv->buffer, rygel_seekable_response_bytes_to_read (data->self), data->self->priv->priority, rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self), rygel_seekable_response_read_contents_ready, data);
		return FALSE;
		_state_18:
		data->bytes_read = g_input_stream_read_finish ((GInputStream*) data->self->priv->input_stream, 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_);
			{
				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 121 "rygel-seekable-response.vala"
		g_signal_connect_object (((RygelHTTPResponse*) data->self)->msg, "wrote-chunk", (GCallback) __lambda3__soup_message_wrote_chunk, data->self, 0);
#line 127 "rygel-seekable-response.vala"
		while (TRUE) {
#line 127 "rygel-seekable-response.vala"
			if (!(data->bytes_read > 0)) {
#line 127 "rygel-seekable-response.vala"
				break;
#line 747 "rygel-seekable-response.c"
			}
#line 128 "rygel-seekable-response.vala"
			rygel_http_response_push_data ((RygelHTTPResponse*) data->self, data->self->priv->buffer, (gsize) data->bytes_read);
#line 129 "rygel-seekable-response.vala"
			data->self->priv->total_length = data->self->priv->total_length - ((gsize) data->bytes_read);
#line 131 "rygel-seekable-response.vala"
			((RygelHTTPResponse*) data->self)->run_continue = (data->_tmp0_ = _rygel_seekable_response_read_contents_co_gsource_func, ((((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify == NULL) ? NULL : (((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify (((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target), NULL), ((RygelHTTPResponse*) data->self)->run_continue = NULL, ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target = NULL, ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify = NULL), ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target = data, ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify = NULL, data->_tmp0_);
#line 755 "rygel-seekable-response.c"
			data->_state_ = 19;
			return FALSE;
			_state_19:
			;
#line 135 "rygel-seekable-response.vala"
			((RygelHTTPResponse*) data->self)->run_continue = (data->_tmp1_ = NULL, ((((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify == NULL) ? NULL : (((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify (((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target), NULL), ((RygelHTTPResponse*) data->self)->run_continue = NULL, ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target = NULL, ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify = NULL), ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target = NULL, ((RygelHTTPResponse*) ((RygelHTTPResponse*) data->self))->run_continue_target_destroy_notify = NULL, data->_tmp1_);
#line 137 "rygel-seekable-response.vala"
			if (rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self) != NULL) {
#line 137 "rygel-seekable-response.vala"
				data->_tmp2_ = g_cancellable_is_cancelled (rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self));
#line 766 "rygel-seekable-response.c"
			} else {
#line 137 "rygel-seekable-response.vala"
				data->_tmp2_ = FALSE;
#line 770 "rygel-seekable-response.c"
			}
#line 137 "rygel-seekable-response.vala"
			if (data->_tmp2_) {
#line 138 "rygel-seekable-response.vala"
				break;
#line 776 "rygel-seekable-response.c"
			}
			data->_state_ = 20;
			g_input_stream_read_async ((GInputStream*) data->self->priv->input_stream, data->self->priv->buffer, rygel_seekable_response_bytes_to_read (data->self), data->self->priv->priority, rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self), rygel_seekable_response_read_contents_ready, data);
			return FALSE;
			_state_20:
			data->_tmp3_ = g_input_stream_read_finish ((GInputStream*) data->self->priv->input_stream, 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_);
				{
					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 141 "rygel-seekable-response.vala"
			data->bytes_read = data->_tmp3_;
#line 798 "rygel-seekable-response.c"
		}
	}
	{
		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;
	}
}
Esempio n. 5
0
static gboolean rygel_seekable_response_perform_seek_co (RygelSeekableResponsePerformSeekData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 15:
		goto _state_15;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		{
#line 75 "rygel-seekable-response.vala"
			G_FILE_INPUT_STREAM_GET_CLASS (data->self->priv->input_stream)->seek (data->self->priv->input_stream, rygel_http_seek_get_start (data->self->priv->seek), G_SEEK_SET, rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self), &data->_inner_error_);
#line 450 "rygel-seekable-response.c"
			if (data->_inner_error_ != NULL) {
				goto __catch36_g_error;
			}
		}
		goto __finally36;
		__catch36_g_error:
		{
			data->err = data->_inner_error_;
			data->_inner_error_ = NULL;
			{
#line 81 "rygel-seekable-response.vala"
				g_warning (_ ("Failed to seek to %s-%s on URI %s: %s"), data->_tmp0_ = g_strdup_printf ("%lli", rygel_http_seek_get_start (data->self->priv->seek)), data->_tmp1_ = g_strdup_printf ("%lli", rygel_http_seek_get_stop (data->self->priv->seek)), data->_tmp2_ = g_file_get_uri (data->self->priv->file), data->err->message);
#line 463 "rygel-seekable-response.c"
				_g_free0 (data->_tmp2_);
				_g_free0 (data->_tmp1_);
				_g_free0 (data->_tmp0_);
#line 86 "rygel-seekable-response.vala"
				rygel_http_response_end ((RygelHTTPResponse*) data->self, FALSE, (guint) SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE);
#line 469 "rygel-seekable-response.c"
				_g_error_free0 (data->err);
				{
					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_error_free0 (data->err);
			}
		}
		__finally36:
		if (data->_inner_error_ != NULL) {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code);
			g_clear_error (&data->_inner_error_);
			return FALSE;
		}
		data->_state_ = 15;
		rygel_seekable_response_start_reading (data->self, rygel_seekable_response_perform_seek_ready, data);
		return FALSE;
		_state_15:
#line 91 "rygel-seekable-response.vala"
		rygel_seekable_response_start_reading_finish (data->self, data->_res_);
#line 495 "rygel-seekable-response.c"
	}
	{
		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;
	}
}
Esempio n. 6
0
static gboolean rygel_seekable_response_real_run_co (RygelSeekableResponseRunData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 13:
		goto _state_13;
		case 14:
		goto _state_14;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		{
			data->_state_ = 13;
			g_file_read_async (data->self->priv->file, data->self->priv->priority, rygel_state_machine_get_cancellable ((RygelStateMachine*) data->self), rygel_seekable_response_run_ready, data);
			return FALSE;
			_state_13:
			data->_tmp0_ = g_file_read_finish (data->self->priv->file, data->_res_, &data->_inner_error_);
			if (data->_inner_error_ != NULL) {
				goto __catch35_g_error;
			}
#line 59 "rygel-seekable-response.vala"
			data->self->priv->input_stream = (data->_tmp1_ = data->_tmp0_, _g_object_unref0 (data->self->priv->input_stream), data->_tmp1_);
#line 350 "rygel-seekable-response.c"
		}
		goto __finally35;
		__catch35_g_error:
		{
			data->err = data->_inner_error_;
			data->_inner_error_ = NULL;
			{
#line 62 "rygel-seekable-response.vala"
				g_warning (_ ("Failed to read from URI: %s: %s"), data->_tmp2_ = g_file_get_uri (data->self->priv->file), data->err->message);
#line 360 "rygel-seekable-response.c"
				_g_free0 (data->_tmp2_);
#line 65 "rygel-seekable-response.vala"
				rygel_http_response_end ((RygelHTTPResponse*) data->self, FALSE, (guint) SOUP_STATUS_NOT_FOUND);
#line 364 "rygel-seekable-response.c"
				_g_error_free0 (data->err);
				{
					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_error_free0 (data->err);
			}
		}
		__finally35:
		if (data->_inner_error_ != NULL) {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code);
			g_clear_error (&data->_inner_error_);
			return FALSE;
		}
		data->_state_ = 14;
		rygel_seekable_response_perform_seek (data->self, rygel_seekable_response_run_ready, data);
		return FALSE;
		_state_14:
#line 70 "rygel-seekable-response.vala"
		rygel_seekable_response_perform_seek_finish (data->self, data->_res_);
#line 390 "rygel-seekable-response.c"
	}
	{
		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;
	}
}