void javanotify_carddevice_event(javacall_carddevice_event event, void *context) { midp_jc_event_union e; e.eventType = MIDP_JC_EVENT_CARDDEVICE; switch (event) { case JAVACALL_CARDDEVICE_RESET: e.data.carddeviceEvent.eventType = MIDP_CARDDEVICE_RESET; e.data.carddeviceEvent.handle = (int)context; break; case JAVACALL_CARDDEVICE_XFER: e.data.carddeviceEvent.eventType = MIDP_CARDDEVICE_XFER; e.data.carddeviceEvent.handle = (int)context; break; case JAVACALL_CARDDEVICE_UNLOCK: e.data.carddeviceEvent.eventType = MIDP_CARDDEVICE_UNLOCK; e.data.carddeviceEvent.handle = 0; break; default: /* TODO: report error */ return; } javacall_event_send((unsigned char *) &e, sizeof(midp_jc_event_union)); return; }
/** * A helper function to * @param event a pointer to midp_javacall_event_union * @return javacall_event_send() operation result */ static javacall_result midp_jc_event_send(midp_jc_event_union *event) { return javacall_event_send( (unsigned char *)event, sizeof(midp_jc_event_union) ); }
/** * Sends midp event throught javacall event subsystem * @param event a pointer to midp_javacall_event_union * @return operation result */ javacall_result midp_jc_event_send(midp_jc_event_union *event) { #if !ENABLE_CDC return javacall_event_send((unsigned char *)event, sizeof(midp_jc_event_union)); #else return javacall_event_send_cvm(MIDP_EVENT_QUEUE_ID, (unsigned char *)event, sizeof(midp_jc_event_union)); #endif }