예제 #1
0
static void transfer_complete(struct obc_transfer *transfer,
					GError *err, void *user_data)
{
	struct obc_session *session = user_data;

	if (err != 0)
		goto fail;

	session_notify_complete(session, transfer);

	return;

fail:
	session_notify_error(session, transfer, err);
}
예제 #2
0
파일: session.c 프로젝트: Commers/obexd
static void session_prepare_get(struct session_data *session,
				GError *err, void *data)
{
	struct transfer_data *transfer = data;
	int ret;

	ret = transfer_get(transfer, transfer_progress, session);
	if (ret < 0) {
		GError *gerr = NULL;

		g_set_error(&gerr, OBEX_IO_ERROR, ret, "%s", strerror(-ret));
		session_notify_error(session, transfer, gerr);
		g_clear_error(&gerr);
		return;
	}

	DBG("Transfer(%p) started", transfer);
}
예제 #3
0
파일: session.c 프로젝트: Commers/obexd
static void transfer_progress(struct transfer_data *transfer, gint64 transferred,
				int err, void *user_data)
{
	struct session_data *session = user_data;
	GError *gerr = NULL;

	if (err != 0)
		goto fail;

	session_notify_progress(session, transfer, transferred);

	return;

fail:
	g_set_error(&gerr, OBEX_IO_ERROR, err, "%s",
			err > 0 ? OBEX_ResponseToString(err) : strerror(-err));
	session_notify_error(session, transfer, gerr);
	g_clear_error(&gerr);
}