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 + -
显示快捷键?