midp_msgqueue_md.c
来自「This is a resource based on j2me embedde」· C语言 代码 · 共 460 行 · 第 1/2 页
C
460 行
switch( event->data.multimediaEvent.mediaType ) { case JAVACALL_EVENT_AMMS_SNAP_SHOOTING_STOPPED: case JAVACALL_EVENT_AMMS_SNAP_STORAGE_ERROR: { int len = 0; javacall_utf16_string str = event->data.multimediaEvent.data.str16; while( str[len] != 0 ) len++; pcsl_string_convert_from_utf16( str, len, &pNewMidpEvent->MM_STRING ); free( str ); } break; default: pNewMidpEvent->MM_DATA = event->data.multimediaEvent.data.num32; break; } REPORT_CALL_TRACE4(LC_NONE, "[jsr234 event] External event recevied %d %d %d %d\n", pNewMidpEvent->type, event->data.multimediaEvent.appId, pNewMidpEvent->MM_PLAYER_ID, pNewMidpEvent->MM_DATA); break;#endif#ifdef ENABLE_JSR_179 case JSR179_LOCATION_JC_EVENT: pNewSignal->waitingFor = event->data.jsr179LocationEvent.event; pNewSignal->descriptor = (int)event->data.jsr179LocationEvent.provider; pNewSignal->status = event->data.jsr179LocationEvent.operation_result; REPORT_CALL_TRACE2(LC_NONE, "[jsr179 event] JSR179_LOCATION_SIGNAL %d %d\n", pNewSignal->descriptor, pNewSignal->status); break; case JSR179_PROXIMITY_JC_EVENT: pNewSignal->waitingFor = JSR179_PROXIMITY_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr179ProximityEvent.provider; pNewSignal->status = event->data.jsr179ProximityEvent.operation_result; REPORT_CALL_TRACE2(LC_NONE, "[jsr179 event] JSR179_PROXIMITY_SIGNAL %d %d\n", pNewSignal->descriptor, pNewSignal->status); break;#endif#ifdef ENABLE_JSR_211 case JSR211_JC_EVENT_PLATFORM_FINISH: pNewSignal->waitingFor = JSR211_PLATFORM_FINISH_SIGNAL; pNewSignal->descriptor = event->data.jsr211PlatformEvent.invoc_id; pNewSignal->pResult = event->data.jsr211PlatformEvent.jsr211event; pNewMidpEvent->type = CHAPI_EVENT; break; case JSR211_JC_EVENT_JAVA_INVOKE: pNewSignal->waitingFor = JSR211_JAVA_INVOKE_SIGNAL; pNewSignal->descriptor = event->data.jsr211PlatformEvent.invoc_id; pNewSignal->pResult = event->data.jsr211PlatformEvent.jsr211event; pNewMidpEvent->type = CHAPI_EVENT; break;#endif /* ENABLE_JSR_211 */#ifdef ENABLE_JSR_290 case JSR290_JC_EVENT_FLUID_INVALIDATE: pNewSignal->waitingFor = JSR290_INVALIDATE_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; break; case JSR290_JC_EVENT_FLUID_LISTENER_COMPLETED: pNewSignal->waitingFor = JSR290_FLUID_EVENT_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; pNewMidpEvent->type = FLUID_EVENT; pNewMidpEvent->intParam2 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image)); pNewMidpEvent->intParam3 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image) >> 32); pNewMidpEvent->intParam1 = JSR290_LISTENER_COMPLETED; break; case JSR290_JC_EVENT_FLUID_LISTENER_FAILED: pNewSignal->waitingFor = JSR290_FLUID_EVENT_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; pNewMidpEvent->type = FLUID_EVENT; pNewMidpEvent->intParam2 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image)); pNewMidpEvent->intParam3 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image) >> 32); pNewMidpEvent->intParam1 = JSR290_LISTENER_FAILED; { int len = 0; if (JAVACALL_OK != javautil_unicode_utf16_ulength(event->data.jsr290FluidEvent.text, &len)) { len = 0; } pcsl_string_convert_from_utf16(event->data.jsr290FluidEvent.text, len, &pNewMidpEvent->stringParam1); } javacall_free(event->data.jsr290FluidEvent.text); break; case JSR290_JC_EVENT_FLUID_LISTENER_PERCENTAGE: pNewSignal->waitingFor = JSR290_FLUID_EVENT_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; pNewMidpEvent->type = FLUID_EVENT; pNewMidpEvent->intParam2 = (int)(((jlong)event->data.jsr290FluidEvent.fluid_image)); pNewMidpEvent->intParam3 = (int)(((jlong)event->data.jsr290FluidEvent.fluid_image) >> 32); pNewMidpEvent->intParam1 = JSR290_LISTENER_PERCENTAGE; pNewMidpEvent->intParam4 = *((int*)&event->data.jsr290FluidEvent.percentage); break; case JSR290_JC_EVENT_FLUID_LISTENER_STARTED: pNewSignal->waitingFor = JSR290_FLUID_EVENT_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; pNewMidpEvent->type = FLUID_EVENT; pNewMidpEvent->intParam2 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image)); pNewMidpEvent->intParam3 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image) >> 32); pNewMidpEvent->intParam1 = JSR290_LISTENER_STARTED; break; case JSR290_JC_EVENT_FLUID_LISTENER_WARNING: pNewSignal->waitingFor = JSR290_FLUID_EVENT_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; pNewMidpEvent->type = FLUID_EVENT; pNewMidpEvent->intParam2 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image)); pNewMidpEvent->intParam3 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image) >> 32); pNewMidpEvent->intParam1 = JSR290_LISTENER_WARNING; { int len = 0; if (JAVACALL_OK != javautil_unicode_utf16_ulength(event->data.jsr290FluidEvent.text, &len)) { len = 0; } pcsl_string_convert_from_utf16(event->data.jsr290FluidEvent.text, len, &pNewMidpEvent->stringParam1); } javacall_free(event->data.jsr290FluidEvent.text); break; case JSR290_JC_EVENT_FLUID_REQUEST_RESOURCE: pNewSignal->waitingFor = JSR290_FLUID_EVENT_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; pNewMidpEvent->type = FLUID_EVENT; pNewMidpEvent->intParam2 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image)); pNewMidpEvent->intParam3 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image) >> 32); pNewMidpEvent->intParam4 = (int)((jlong)(event->data.jsr290FluidEvent.spare)); pNewMidpEvent->intParam5 = (int)((jlong)(event->data.jsr290FluidEvent.spare) >> 32); pNewMidpEvent->intParam1 = JSR290_REQUEST_RESOURCE; { int len = 0; if (JAVACALL_OK != javautil_unicode_utf16_ulength(event->data.jsr290FluidEvent.text, &len)) { len = 0; } pcsl_string_convert_from_utf16(event->data.jsr290FluidEvent.text, len, &pNewMidpEvent->stringParam1); } javacall_free(event->data.jsr290FluidEvent.text); break; case JSR290_JC_EVENT_FLUID_CANCEL_REQUEST: pNewSignal->waitingFor = JSR290_FLUID_EVENT_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr290FluidEvent.fluid_image; pNewMidpEvent->type = FLUID_EVENT; pNewMidpEvent->intParam2 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image)); pNewMidpEvent->intParam3 = (int)((jlong)(event->data.jsr290FluidEvent.fluid_image) >> 32); pNewMidpEvent->intParam4 = (int)((jlong)(event->data.jsr290FluidEvent.spare)); pNewMidpEvent->intParam5 = (int)((jlong)(event->data.jsr290FluidEvent.spare) >> 32); pNewMidpEvent->intParam1 = JSR290_CANCEL_REQUEST; break;#endif /* ENABLE_JSR_290 */#ifdef ENABLE_JSR_177 case MIDP_JC_EVENT_CARDDEVICE: switch (event->data.carddeviceEvent.eventType) { case MIDP_CARDDEVICE_RESET: pNewSignal->waitingFor = CARD_READER_DATA_SIGNAL; pNewSignal->descriptor = SIGNAL_RESET; pNewSignal->status = SIGNAL_RESET; pNewSignal->pResult = (void *)event->data.carddeviceEvent.handle; break; case MIDP_CARDDEVICE_XFER: pNewSignal->waitingFor = CARD_READER_DATA_SIGNAL; pNewSignal->descriptor = SIGNAL_XFER; pNewSignal->status = SIGNAL_XFER; pNewSignal->pResult = (void *)event->data.carddeviceEvent.handle; break; case MIDP_CARDDEVICE_UNLOCK: pNewSignal->waitingFor = CARD_READER_DATA_SIGNAL; pNewSignal->descriptor = SIGNAL_LOCK; pNewSignal->status = SIGNAL_LOCK; pNewSignal->pResult = NULL; break; default: /* just ignore invalid event type */ REPORT_ERROR1(LC_CORE,"Invalid carddevice event type: %d\n", event->data.carddeviceEvent.eventType); break; } break;#endif /* ENABLE_JSR_177 */#if ENABLE_MULTIPLE_ISOLATES case MIDP_JC_EVENT_SWITCH_FOREGROUND: pNewSignal->waitingFor = AMS_SIGNAL; pNewMidpEvent->type = SELECT_FOREGROUND_EVENT; pNewMidpEvent->intParam1 = 1; break; case MIDP_JC_EVENT_SELECT_APP: pNewSignal->waitingFor = AMS_SIGNAL; pNewMidpEvent->type = SELECT_FOREGROUND_EVENT; pNewMidpEvent->intParam1 = 0; break;#endif /* ENABLE_MULTIPLE_ISOLATES */#if ENABLE_JSR_256 case JSR256_JC_EVENT_SENSOR_AVAILABLE: pNewSignal->waitingFor = JSR256_SIGNAL; pNewMidpEvent->type = SENSOR_EVENT; pNewMidpEvent->intParam1 = event->data.jsr256SensorAvailable.sensor_type; pNewMidpEvent->intParam2 = event->data.jsr256SensorAvailable.is_available; break; case JSR256_JC_EVENT_SENSOR_OPEN_CLOSE: pNewSignal->waitingFor = JSR256_SIGNAL; pNewSignal->descriptor = (int)event->data.jsr256_jc_event_sensor.sensor; break;#endif /* ENABLE_JSR_256 */#ifdef ENABLE_API_EXTENSIONScase MIDP_JC_EVENT_VOLUME: pNewSignal->waitingFor = VOLUME_SIGNAL; pNewSignal->status = JAVACALL_OK; break;#endif /* ENABLE_API_EXTENSIONS */ default: REPORT_ERROR(LC_CORE,"Unknown event.\n"); break; }; REPORT_CALL_TRACE(LC_HIGHUI, "LF:STUB:checkForSystemSignal()\n");}/** * Free the event result. Called when no waiting Java thread was found to * receive the result. This may be empty on some systems. * * @param waitingFor what signal the result is for * @param pResult the result set by checkForSystemSignal */void midpFreeEventResult(int waitingFor, void* pResult) { (void)waitingFor; (void)pResult;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?