SKYENGINE API 参考手册返回目录 |
int32
mr_event(int16 type, int32 param1, int32
param2)
Description
发送事件给虚拟机,在应用层将通过mrc_event接收到相应的消息。
Parameters
Name
Description
type
虚拟机预定义的事件类型,各个事件类型的具体定义请参考MR_EVENT_E
param1
参数1,由事件定义
param2
参数2,由事件定义
当成功将事件发送到虚拟机并进行处理后将返回MR_SUCCESS, 如果未将事件传到虚拟机将返回MR_FAILED,如果是虚拟机不支持的事件将返回MR_IGNORE。在返回值上这里有一点要特别注意,mr_event的返回值不等于mrc_event的返回值,某些时候我们可能期望通过mr_event来调用应用中的相应功能,但切记,通过mrc_event返回的值,在平台的移植层是得不到的。
在移植层将本地的事件转换成虚拟机事件后,需要通过mr_event 将事件发送到虚拟机,应用层会由mrc_event接收,这里的发送是同步的,其实就是同步的调用过程,mr_event发送的事件遵循公共且唯一的定义,各个事件可带有1至2个参数,参数的个数和具体的移植由事件本身定义,应用和移植层遵循此协议。
事件定义
enum {
MR_KEY_PRESS, /*按键按下事件, param1 为按键值*/
MR_KEY_RELEASE, /*1*/
MR_MOUSE_DOWN, /*2*/
MR_MOUSE_UP, /*3*/
MR_MENU_SELECT, /*4*/
MR_MENU_RETURN, /*5*/
MR_DIALOG_EVENT, /*6*/
MR_SMS_INDICATION, /*7*/
MR_EVENT_EXIT, /*8*/
MR_SMS_RESULT, /*9*/
MR_LOCALUI_EVENT, /*10*/
MR_OSD_EVENT, /*11*/
MR_MOUSE_MOVE, /*12*/
MR_ERROR_EVENT, /*13执行异常通过这个事件来通知*/
MR_PHB_EVENT,
MR_SMS_OP_EVENT,
MR_SMS_GET_SC,
MR_DATA_ACCOUNT_EVENT,
MR_MOTION_EVENT,
MR_MCHAT_EVENT = 100,
}MR_EVENT_E;