Пример #1
0
static int
obexserver_setresponse(OBEXServer *self, obex_object_t *obj, int responsecode, PyObject *responseheaders)
{
    DEBUG("%s()\n", __func__);

    if (responseheaders != NULL) {
        if (lightblueobex_addheaders(self->obex, responseheaders, obj) < 0) {
            obexserver_errorstr(self, PyExc_IOError,
                                "error setting response headers");
            OBEX_ObjectSetRsp(obj, OBEX_RSP_INTERNAL_SERVER_ERROR,
                              OBEX_RSP_INTERNAL_SERVER_ERROR);
            return -1;
        }
    }

    if (responsecode == OBEX_RSP_SUCCESS || responsecode == OBEX_RSP_CONTINUE) {
        DEBUG("\tAccepting request...\n");
        OBEX_ObjectSetRsp(obj, OBEX_RSP_CONTINUE, OBEX_RSP_SUCCESS);
    } else {
        DEBUG("\tRefusing request (%s)...\n",
              OBEX_ResponseToString(responsecode));
        OBEX_ObjectSetRsp(obj, responsecode, responsecode);
    }

    return 1;
}
Пример #2
0
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);
}