MMI_API extern int MMI_PROVIDER_EVENT_VOICE;
MMI_API extern int MMI_PROVIDER_EVENT_VISION;
+typedef enum mmi_event_key_type
+{
+ MMI_EVENT_KEY_TYPE_DOWN,
+ MMI_EVENT_KEY_TYPE_UP
+} mmi_event_key_type;
+
+typedef enum mmi_event_gesture_type
+{
+ MMI_EVENT_GETURE_TYPE_SWIPE_UP,
+ MMI_EVENT_GETURE_TYPE_SWIPE_DOWN,
+ MMI_EVENT_GETURE_TYPE_SWIPE_LEFT,
+ MMI_EVENT_GETURE_TYPE_SWIPE_RIGHT
+} mmi_event_gesture_type;
+
+typedef enum mmi_event_voice_type
+{
+ MMI_EVENT_VOICE_TYPE_UP,
+ MMI_EVENT_VOICE_TYPE_DOWN,
+ MMI_EVENT_VOICE_TYPE_LEFT,
+ MMI_EVENT_VOICE_TYPE_RIGHT
+} mmi_event_voice_type;
+
+typedef enum mmi_event_vision_type
+{
+ MMI_EVENT_VISION_TYPE_USER_ENTER,
+ MMI_EVENT_VISION_TYPE_USER_LEAVE,
+ MMI_EVENT_VISION_TYPE_USER_MOVE_AWAY,
+ MMI_EVENT_VISION_TYPE_USER_MOVE_CLOSER,
+ MMI_EVENT_VISION_TYPE_YES,
+ MMI_EVENT_VISION_TYPE_NO,
+ MMI_EVENT_VISION_TYPE_REVOKE,
+ MMI_EVENT_VISION_TYPE_STOP
+} mmi_event_vision_type;
+
+typedef enum mmi_event_wakeup_type
+{
+ MMI_EVENT_WAKEUP_TYPE_WAKEUP
+} mmi_event_wakeup_type;
+
+typedef enum mmi_event_action_type
+{
+ MMI_EVENT_ACTION_TYPE_PLAY,
+ MMI_EVENT_ACTION_TYPE_PAUSE,
+ MMI_EVENT_ACTION_TYPE_RESUME,
+ MMI_EVENT_ACTION_TYPE_STOP,
+ MMI_EVENT_ACTION_TYPE_EXECUTE,
+ MMI_EVENT_ACTION_TYPE_LAUNCH,
+ MMI_EVENT_ACTION_TYPE_REVOKE
+} mmi_event_action_type;
+
+typedef enum mmi_event_feedback_type
+{
+ MMI_EVENT_FEEDBACK_TYPE_FEEDBACK
+} mmi_event_feedback_type;
+
+typedef enum mmi_event_focus_type
+{
+ MMI_EVENT_FOCUS_TYPE_IN,
+ MMI_EVENT_FOCUS_TYPE_OUT
+} mmi_event_focus_type;
+
+typedef enum mmi_event_state_change_type
+{
+ MMI_EVENT_STATE_CHANGE_TYPE_STATE_CHANGE
+} mmi_event_state_change_type;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ bool focus_in;
+} focus_event_arg;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ int state;
+ int old_state;
+} state_change_event_arg;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ char *source;
+} wakeup_event_arg;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ bool key_down;
+ int keycode;
+ char *keyname;
+ char *source;
+} key_event_arg;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ char *source;
+} gesture_event_arg;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ char *source;
+} voice_event_arg;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ char *cmd;
+ char **args;
+ int args_size;
+ int nargs;
+ char *source;
+} action_event_arg;
+
+typedef struct
+{
+ int type;
+ int timestamp;
+ char *feedback;
+ char *comment;
+} feedback_event_arg;
+
typedef struct
{
int type;//down or up