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; }
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); }