void ControlReaderThread::setupRequest(void *data) { struct usb_functionfs_event *e = (struct usb_functionfs_event *)data; /* USB Still Image Capture Device Definition, Section 5 */ /* www.usb.org/developers/devclass_docs/usb_still_img10.pdf */ //qDebug() << "bRequestType:" << e->u.setup.bRequestType; //qDebug() << "bRequest:" << e->u.setup.bRequest; //qDebug() << "wValue:" << e->u.setup.wValue; //qDebug() << "wIndex:" << e->u.setup.wIndex; //qDebug() << "wLength:" << e->u.setup.wLength; switch(e->u.setup.bRequest) { case PTP_REQ_GET_DEVICE_STATUS: if(e->u.setup.bRequestType == 0xa1) sendStatus(m_status); else stall((e->u.setup.bRequestType & USB_DIR_IN)>0); break; case PTP_REQ_CANCEL: emit cancelTransaction(); break; case PTP_REQ_DEVICE_RESET: emit deviceReset(); break; //case PTP_REQ_GET_EXTENDED_EVENT_DATA: default: stall((e->u.setup.bRequestType & USB_DIR_IN)>0); break; } }
void CharacterComponent::setBuySell(BuySell *t) { if (t) { cancelTransaction(); mTransactionHandler = t; mTransaction = TRANS_BUYSELL; } else { assert(mTransaction == TRANS_NONE || mTransaction == TRANS_BUYSELL); mTransaction = TRANS_NONE; } }
void CharacterComponent::setTrading(Trade *t) { if (t) { cancelTransaction(); mTransactionHandler = t; mTransaction = TRANS_TRADE; } else { assert(mTransaction == TRANS_NONE || mTransaction == TRANS_TRADE); mTransaction = TRANS_NONE; } }