Rename MMI_FW to MMI because the tidl module is for application sandbox/devel/action
authorsungwook79.park <sungwook79.park@samsung.com>
Thu, 16 Jun 2022 05:42:09 +0000 (14:42 +0900)
committerwn.jang <wn.jang@samsung.com>
Fri, 1 Jul 2022 08:50:56 +0000 (17:50 +0900)
Change-Id: Ic7e158fe9c6da418cdf576e5543b93418eb49d1e
Signed-off-by: sungwook79.park <sungwook79.park@samsung.com>
README.md
packaging/mmi-manager.spec
src/mmimgr/meson.build
src/mmimgr/mmi-api-handler.c
src/mmimgr/mmi-api-handler.h
src/mmimgr/mmi-client.c
tidl/mmi.tidl [new file with mode: 0644]
tidl/mmifw.tidl [deleted file]

index fda4ccb9f73a9be4064be514f23c2b414e21375b..e9dba51f562c27d6979e0cb99c45aab6003fbf96 100644 (file)
--- a/README.md
+++ b/README.md
@@ -12,8 +12,8 @@
 ├── README.md  
 ├── src  
 │   ├── interface  
-│   │   ├── mmifw_stub.c  
-│   │   └── mmifw_stub.h  
+│   │   ├── mmi_stub.c
+│   │   └── mmi_stub.h
 │   ├── main.c  
 │   ├── meson.build  
 │   ├── mmi-api-handler.c  
@@ -33,5 +33,5 @@
 │   ├── mmi-manager-tests.cpp  
 │   └── mmi-manager-tests.h  
 └── tidl  
-    └── mmifw.tidl  
+    └── mmi.tidl
   
index a57fb6996937bc74134efab6d83cfdb175c0a34f..1b21718ce4600353395b63dc3990ff92952853ab 100644 (file)
@@ -52,8 +52,8 @@ Testcases for testing MMI Manager APIs
 cp %{SOURCE1004} .
 
 #generate mmi-stub using TIDL Compiler
-tidlc -s -l C -i tidl/mmifw.tidl -o mmifw_stub
-mv mmifw_stub.* src/mmimgr
+tidlc -s -l C -i tidl/mmi.tidl -o mmi_stub
+mv mmi_stub.* src/mmimgr
 
 %build
 %if "%{USE_GCOV}" == "1"
index c02917713a768b877a91c242094a788b1c28cffb..2c061076fe2a9565cfe09adc9f87c9e3e57a8fc2 100644 (file)
@@ -18,8 +18,8 @@ mmimgr_srcs = [
        'mmi-manager-dbg.h',
        'mmi-iu-bridge.c',
        'mmi-iu-bridge.h',
-       'mmifw_stub.h',
-       'mmifw_stub.c',
+       'mmi_stub.h',
+       'mmi_stub.c',
        'iu/input_intent.cpp',
        'iu/input_intent.h',
        'iu/intent_understanding_engine.cpp',
index a8085dfbf98c153be8725c1059cac656c75e5375..2206da5c00882d624bb346b43d1c2e8e9b941c86 100644 (file)
@@ -34,13 +34,13 @@ static bool _init_done = false;
 
 static const char* _stub_appid = "mmi-manager";
 
-static void _on_create(rpc_port_stub_mmifw_context_h context, void *user_data)
+static void _on_create(rpc_port_stub_mmi_context_h context, void *user_data)
 {
        int r;
        char *sender = NULL;
        mmi_client *mc = NULL;
 
-       r = rpc_port_stub_mmifw_context_get_sender(context, &sender);
+       r = rpc_port_stub_mmi_context_get_sender(context, &sender);
        if (r || !sender)
        {
                LOGE("Failed to get sender from context ! (error:%d)\n", r);
@@ -66,12 +66,12 @@ err:
                free(sender);
 }
 
-static void _on_terminate(rpc_port_stub_mmifw_context_h context, void *user_data)
+static void _on_terminate(rpc_port_stub_mmi_context_h context, void *user_data)
 {
        int r;
        char *sender = NULL;
 
-       r = rpc_port_stub_mmifw_context_get_sender(context, &sender);
+       r = rpc_port_stub_mmi_context_get_sender(context, &sender);
        if (r || !sender)
        {
                LOGE("Failed to get sender from context ! (error:%d)\n", r);
@@ -84,13 +84,13 @@ static void _on_terminate(rpc_port_stub_mmifw_context_h context, void *user_data
        free(sender);
 }
 
-static int _register_cb(rpc_port_stub_mmifw_context_h context, rpc_port_stub_mmifw_focus_event_cb_h focus_cb, rpc_port_stub_mmifw_state_change_event_cb_h state_cb, rpc_port_stub_mmifw_wakeup_event_cb_h wakeup_cb, rpc_port_stub_mmifw_key_event_cb_h key_cb, rpc_port_stub_mmifw_gesture_event_cb_h gesture_cb, rpc_port_stub_mmifw_voice_event_cb_h voice_cb, rpc_port_stub_mmifw_action_event_cb_h action_cb, rpc_port_stub_mmifw_feedback_event_cb_h feedback_cb, void *user_data)
+static int _register_cb(rpc_port_stub_mmi_context_h context, rpc_port_stub_mmi_focus_event_cb_h focus_cb, rpc_port_stub_mmi_state_change_event_cb_h state_cb, rpc_port_stub_mmi_wakeup_event_cb_h wakeup_cb, rpc_port_stub_mmi_key_event_cb_h key_cb, rpc_port_stub_mmi_gesture_event_cb_h gesture_cb, rpc_port_stub_mmi_voice_event_cb_h voice_cb, rpc_port_stub_mmi_action_event_cb_h action_cb, rpc_port_stub_mmi_feedback_event_cb_h feedback_cb, void *user_data)
 {
        int r;
        char *sender = NULL;
        mmi_client *mc = NULL;
 
-       r = rpc_port_stub_mmifw_context_get_sender(context, &sender);
+       r = rpc_port_stub_mmi_context_get_sender(context, &sender);
        if (r || !sender)
        {
                LOGE("Failed to get sender from context ! (error:%d)\n", r);
@@ -160,13 +160,13 @@ err:
        return -1;
 }
 
-static void _deregister_cb(rpc_port_stub_mmifw_context_h context, void *user_data)
+static void _deregister_cb(rpc_port_stub_mmi_context_h context, void *user_data)
 {
        int r;
        char *sender = NULL;
        mmi_client *mc = NULL;
 
-       r = rpc_port_stub_mmifw_context_get_sender(context, &sender);
+       r = rpc_port_stub_mmi_context_get_sender(context, &sender);
        if (r || !sender)
        {
                LOGE("Failed to get sender from context ! (error:%d)\n", r);
@@ -237,13 +237,13 @@ err:
        return;
 }
 
-static void _get_focus_cb(rpc_port_stub_mmifw_context_h context, void *user_data)
+static void _get_focus_cb(rpc_port_stub_mmi_context_h context, void *user_data)
 {
        int r;
        char *sender = NULL;
        mmi_client *mc = NULL;
 
-       r = rpc_port_stub_mmifw_context_get_sender(context, &sender);
+       r = rpc_port_stub_mmi_context_get_sender(context, &sender);
        if (r || !sender)
        {
                LOGE("Failed to get sender from context ! (error:%d)\n", r);
@@ -275,13 +275,13 @@ err:
                free(mc);
 }
 
-static void _set_state_cb(rpc_port_stub_mmifw_context_h context, int state, void *user_data)
+static void _set_state_cb(rpc_port_stub_mmi_context_h context, int state, void *user_data)
 {
        int r;
        char *sender = NULL;
        mmi_client *mc = NULL;
 
-       r = rpc_port_stub_mmifw_context_get_sender(context, &sender);
+       r = rpc_port_stub_mmi_context_get_sender(context, &sender);
        if (r || !sender)
        {
                LOGE("Failed to get sender from context ! (error:%d)\n", r);
@@ -328,7 +328,7 @@ mmi_api_handler_init(void)
                goto err;
        }
 
-       rpc_port_stub_mmifw_callback_s callback = {
+       rpc_port_stub_mmi_callback_s callback = {
                _on_create,
                _on_terminate,
                _register_cb,
@@ -337,7 +337,7 @@ mmi_api_handler_init(void)
                _set_state_cb
        };
 
-       r = rpc_port_stub_mmifw_register(&callback, NULL);
+       r = rpc_port_stub_mmi_register(&callback, NULL);
        if (r != 0)
        {
                LOGE("Failed to register callbacks (error:%d)\n", r);
@@ -355,7 +355,7 @@ mmi_api_handler_shutdown(void)
        if (!_init_done)
                return;
 
-       rpc_port_stub_mmifw_unregister();
+       rpc_port_stub_mmi_unregister();
        rpc_port_deregister_proc_info();
 
        _init_done = false;
index bc635619139ef870925640775bd1368c93a0bf16..9b82b8d0ed5921b165a58d6f43789f5817725db4 100644 (file)
@@ -24,7 +24,7 @@
 #ifndef __MMI_API_HANDLER_H__
 #define __MMI_API_HANDLER_H__
 
-#include "mmifw_stub.h"
+#include "mmi_stub.h"
 
 #ifdef __cplusplus
 extern "C" {
index 71123852a04f1864c2351963631dbc8dcffd9811..6dbf05757634d9709e7e3934de5c710855d72317 100644 (file)
@@ -25,7 +25,7 @@
 #include "mmi-common.h"
 #include "mmi-manager.h"
 #include "mmi-manager-dbg.h"
-#include "mmifw_stub.h"
+#include "mmi_stub.h"
 
 #include <Eina.h>
 #include <stdlib.h>
@@ -38,14 +38,14 @@ struct _mmi_client
        mmi_state state;
        bool has_focus;
 
-       rpc_port_stub_mmifw_focus_event_cb_h focus_cb_h;
-       rpc_port_stub_mmifw_state_change_event_cb_h state_change_cb_h;
-       rpc_port_stub_mmifw_wakeup_event_cb_h wakeup_cb_h;
-       rpc_port_stub_mmifw_key_event_cb_h key_cb_h;
-       rpc_port_stub_mmifw_gesture_event_cb_h gesture_cb_h;
-       rpc_port_stub_mmifw_voice_event_cb_h voice_cb_h;
-       rpc_port_stub_mmifw_action_event_cb_h action_cb_h;
-       rpc_port_stub_mmifw_feedback_event_cb_h feedback_cb_h;
+       rpc_port_stub_mmi_focus_event_cb_h focus_cb_h;
+       rpc_port_stub_mmi_state_change_event_cb_h state_change_cb_h;
+       rpc_port_stub_mmi_wakeup_event_cb_h wakeup_cb_h;
+       rpc_port_stub_mmi_key_event_cb_h key_cb_h;
+       rpc_port_stub_mmi_gesture_event_cb_h gesture_cb_h;
+       rpc_port_stub_mmi_voice_event_cb_h voice_cb_h;
+       rpc_port_stub_mmi_action_event_cb_h action_cb_h;
+       rpc_port_stub_mmi_feedback_event_cb_h feedback_cb_h;
 };
 
 Eina_Hash *_client_hash = NULL;
@@ -143,14 +143,14 @@ client_manager_remove_client(const char *sender)
        if (mc->sender)
                free(mc->sender);
 
-       if (mc->focus_cb_h)     rpc_port_stub_mmifw_focus_event_cb_destroy(mc->focus_cb_h);
-       if (mc->state_change_cb_h) rpc_port_stub_mmifw_state_change_event_cb_destroy(mc->state_change_cb_h);
-       if (mc->wakeup_cb_h) rpc_port_stub_mmifw_wakeup_event_cb_destroy(mc->wakeup_cb_h);
-       if (mc->key_cb_h) rpc_port_stub_mmifw_key_event_cb_destroy(mc->key_cb_h);
-       if (mc->gesture_cb_h) rpc_port_stub_mmifw_gesture_event_cb_destroy(mc->gesture_cb_h);
-       if (mc->voice_cb_h) rpc_port_stub_mmifw_voice_event_cb_destroy(mc->voice_cb_h);
-       if (mc->action_cb_h) rpc_port_stub_mmifw_action_event_cb_destroy(mc->action_cb_h);
-       if (mc->feedback_cb_h) rpc_port_stub_mmifw_feedback_event_cb_destroy(mc->feedback_cb_h);
+       if (mc->focus_cb_h)     rpc_port_stub_mmi_focus_event_cb_destroy(mc->focus_cb_h);
+       if (mc->state_change_cb_h) rpc_port_stub_mmi_state_change_event_cb_destroy(mc->state_change_cb_h);
+       if (mc->wakeup_cb_h) rpc_port_stub_mmi_wakeup_event_cb_destroy(mc->wakeup_cb_h);
+       if (mc->key_cb_h) rpc_port_stub_mmi_key_event_cb_destroy(mc->key_cb_h);
+       if (mc->gesture_cb_h) rpc_port_stub_mmi_gesture_event_cb_destroy(mc->gesture_cb_h);
+       if (mc->voice_cb_h) rpc_port_stub_mmi_voice_event_cb_destroy(mc->voice_cb_h);
+       if (mc->action_cb_h) rpc_port_stub_mmi_action_event_cb_destroy(mc->action_cb_h);
+       if (mc->feedback_cb_h) rpc_port_stub_mmi_feedback_event_cb_destroy(mc->feedback_cb_h);
 
        mc->focus_cb_h = NULL;
        mc->state_change_cb_h = NULL;
@@ -303,7 +303,7 @@ client_manager_set_client_focus_cb_handle(mmi_client *client, void *focus_cb_h)
        if (!client || !focus_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_focus_event_cb_clone(focus_cb_h, &client->focus_cb_h);
+       r = rpc_port_stub_mmi_focus_event_cb_clone(focus_cb_h, &client->focus_cb_h);
        if (r)
        {
                LOGE("Failed to clone focus event handle ! (error:%d)\n", r);
@@ -331,7 +331,7 @@ client_manager_set_client_state_change_cb_handle(mmi_client *client, void *state
        if (!client || !state_change_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_state_change_event_cb_clone(state_change_cb_h, &client->state_change_cb_h);
+       r = rpc_port_stub_mmi_state_change_event_cb_clone(state_change_cb_h, &client->state_change_cb_h);
        if (r)
        {
                LOGE("Failed to clone state_change event handle ! (error:%d)\n", r);
@@ -358,7 +358,7 @@ client_manager_set_client_wakeup_cb_handle(mmi_client *client, void *wakeup_cb_h
        if (!client || !wakeup_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_wakeup_event_cb_clone(wakeup_cb_h, &client->wakeup_cb_h);
+       r = rpc_port_stub_mmi_wakeup_event_cb_clone(wakeup_cb_h, &client->wakeup_cb_h);
        if (r)
        {
                LOGE("Failed to clone wakeup event handle ! (error:%d)\n", r);
@@ -385,7 +385,7 @@ client_manager_set_client_key_cb_handle(mmi_client *client, void *key_cb_h)
        if (!client || !key_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_key_event_cb_clone(key_cb_h, &client->key_cb_h);
+       r = rpc_port_stub_mmi_key_event_cb_clone(key_cb_h, &client->key_cb_h);
        if (r)
        {
                LOGE("Failed to clone key event handle ! (error:%d)\n", r);
@@ -412,7 +412,7 @@ client_manager_set_client_gesture_cb_handle(mmi_client *client, void *gesture_cb
        if (!client || !gesture_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_gesture_event_cb_clone(gesture_cb_h, &client->gesture_cb_h);
+       r = rpc_port_stub_mmi_gesture_event_cb_clone(gesture_cb_h, &client->gesture_cb_h);
        if (r)
        {
                LOGE("Failed to clone gesture event handle ! (error:%d)\n", r);
@@ -439,7 +439,7 @@ client_manager_set_client_voice_cb_handle(mmi_client *client, void *voice_cb_h)
        if (!client || !voice_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_voice_event_cb_clone(voice_cb_h, &client->voice_cb_h);
+       r = rpc_port_stub_mmi_voice_event_cb_clone(voice_cb_h, &client->voice_cb_h);
        if (r)
        {
                LOGE("Failed to clone voice event handle ! (error:%d)\n", r);
@@ -466,7 +466,7 @@ client_manager_set_client_action_cb_handle(mmi_client *client, void *action_cb_h
        if (!client || !action_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_action_event_cb_clone(action_cb_h, &client->action_cb_h);
+       r = rpc_port_stub_mmi_action_event_cb_clone(action_cb_h, &client->action_cb_h);
        if (r)
        {
                LOGE("Failed to clone action event handle ! (error:%d)\n", r);
@@ -493,7 +493,7 @@ client_manager_set_client_feedback_cb_handle(mmi_client *client, void *feedback_
        if (!client || !feedback_cb_h)
                return NULL;
 
-       r = rpc_port_stub_mmifw_feedback_event_cb_clone(feedback_cb_h, &client->feedback_cb_h);
+       r = rpc_port_stub_mmi_feedback_event_cb_clone(feedback_cb_h, &client->feedback_cb_h);
        if (r)
        {
                LOGE("Failed to clone feedback event handle ! (error:%d)\n", r);
@@ -542,7 +542,7 @@ client_manager_send_focus_event(mmi_client *client, focus_event_arg *args)
        rpc_port_stub_focus_event_set_timestamp(focus_event_h, ev->timestamp);
        rpc_port_stub_focus_event_set_focus_in(focus_event_h, ev->focus_in);
 
-       r = rpc_port_stub_mmifw_focus_event_cb_invoke(client->focus_cb_h, focus_event_h);
+       r = rpc_port_stub_mmi_focus_event_cb_invoke(client->focus_cb_h, focus_event_h);
        if (r)
        {
                LOGE("Failed to invoke focus_event_cb ! (error:%d)\n", r);
@@ -588,7 +588,7 @@ client_manager_send_state_change_event(mmi_client *client, state_change_event_ar
        rpc_port_stub_state_change_event_set_state(state_change_event_h, ev->state);
        rpc_port_stub_state_change_event_set_old_state(state_change_event_h, ev->old_state);
 
-       r = rpc_port_stub_mmifw_state_change_event_cb_invoke(client->state_change_cb_h, state_change_event_h);
+       r = rpc_port_stub_mmi_state_change_event_cb_invoke(client->state_change_cb_h, state_change_event_h);
        if (r)
        {
                LOGE("Failed to invoke state_change_event_cb ! (error:%d)\n", r);
@@ -633,7 +633,7 @@ client_manager_send_wakeup_event(mmi_client *client, wakeup_event_arg *args)
        rpc_port_stub_wakeup_event_set_timestamp(wakeup_event_h, ev->timestamp);
        rpc_port_stub_wakeup_event_set_source(wakeup_event_h, ev->source);
 
-       r = rpc_port_stub_mmifw_wakeup_event_cb_invoke(client->wakeup_cb_h, wakeup_event_h);
+       r = rpc_port_stub_mmi_wakeup_event_cb_invoke(client->wakeup_cb_h, wakeup_event_h);
        if (r)
        {
                LOGE("Failed to invoke wakeup_event_cb ! (error:%d)\n", r);
@@ -681,7 +681,7 @@ client_manager_send_key_event(mmi_client *client, key_event_arg *args)
        rpc_port_stub_key_event_set_keyname(key_event_h, ev->keyname);
        rpc_port_stub_key_event_set_source(key_event_h, ev->source);
 
-       r = rpc_port_stub_mmifw_key_event_cb_invoke(client->key_cb_h, key_event_h);
+       r = rpc_port_stub_mmi_key_event_cb_invoke(client->key_cb_h, key_event_h);
        if (r)
        {
                LOGE("Failed to invoke key_event_cb ! (error:%d)\n", r);
@@ -726,7 +726,7 @@ client_manager_send_gesture_event(mmi_client *client, gesture_event_arg *args)
        rpc_port_stub_gesture_event_set_timestamp(gesture_event_h, ev->timestamp);
        rpc_port_stub_gesture_event_set_source(gesture_event_h, ev->source);
 
-       r = rpc_port_stub_mmifw_gesture_event_cb_invoke(client->gesture_cb_h, gesture_event_h);
+       r = rpc_port_stub_mmi_gesture_event_cb_invoke(client->gesture_cb_h, gesture_event_h);
        if (r)
        {
                LOGE("Failed to invoke gesture_event_cb ! (error:%d)\n", r);
@@ -771,7 +771,7 @@ client_manager_send_voice_event(mmi_client *client, voice_event_arg *args)
        rpc_port_stub_voice_event_set_timestamp(voice_event_h, ev->timestamp);
        rpc_port_stub_voice_event_set_source(voice_event_h, ev->source);
 
-       r = rpc_port_stub_mmifw_voice_event_cb_invoke(client->voice_cb_h, voice_event_h);
+       r = rpc_port_stub_mmi_voice_event_cb_invoke(client->voice_cb_h, voice_event_h);
        if (r)
        {
                LOGE("Failed to invoke voice_event_cb ! (error:%d)\n", r);
@@ -829,7 +829,7 @@ client_manager_send_action_event(mmi_client *client, action_event_arg *args)
        rpc_port_stub_array_string_set(array_string_h, ev->args, ev->nargs);
        rpc_port_stub_action_event_set_args(action_event_h, array_string_h);
 
-       r = rpc_port_stub_mmifw_action_event_cb_invoke(client->action_cb_h, action_event_h);
+       r = rpc_port_stub_mmi_action_event_cb_invoke(client->action_cb_h, action_event_h);
        if (r)
        {
                LOGE("Failed to invoke action_event_cb ! (error:%d)\n", r);
@@ -877,7 +877,7 @@ client_manager_send_feedback_event(mmi_client *client, feedback_event_arg *args)
        rpc_port_stub_feedback_event_set_feedback(feedback_event_h, ev->feedback);
        rpc_port_stub_feedback_event_set_comment(feedback_event_h, ev->comment);
 
-       r = rpc_port_stub_mmifw_feedback_event_cb_invoke(client->feedback_cb_h, feedback_event_h);
+       r = rpc_port_stub_mmi_feedback_event_cb_invoke(client->feedback_cb_h, feedback_event_h);
        if (r)
        {
                LOGE("Failed to invoke feedback_event_cb ! (error:%d)\n", r);
diff --git a/tidl/mmi.tidl b/tidl/mmi.tidl
new file mode 100644 (file)
index 0000000..165e688
--- /dev/null
@@ -0,0 +1,79 @@
+struct focus_event {
+   int type;
+   int timestamp;
+   bool focus_in;
+}
+
+struct state_change_event {
+   int type;
+   int timestamp;
+   int state;
+   int old_state;
+}
+
+struct wakeup_event {
+   int type;
+   int timestamp;
+   string source;
+}
+
+struct key_event {
+   int type;
+   int timestamp;
+   bool key_down;
+   int keycode;
+   string keyname;
+   string source;
+}
+
+struct gesture_event {
+   int type;
+   int timestamp;
+   string source;
+}
+
+struct voice_event {
+   int type;
+   int timestamp;
+   string source;
+}
+
+struct action_event {
+   int type;
+   int timestamp;
+   string cmd;
+   array<string> args;
+   int nargs;
+   string source;
+}
+
+struct feedback_event {
+   int type;
+   int timestamp;
+   string feedback;
+   string comment;
+}
+
+interface mmi {
+   void focus_event_cb(focus_event args) delegate;
+   void state_change_event_cb(state_change_event args) delegate;
+   void wakeup_event_cb(wakeup_event args) delegate;
+   void key_event_cb(key_event args) delegate;
+   void gesture_event_cb(gesture_event args) delegate;
+   void voice_event_cb(voice_event args) delegate;
+   void action_event_cb(action_event args) delegate;
+   void feedback_event_cb(feedback_event args) delegate;
+
+   int register_cb(focus_event_cb focus_cb,
+                   state_change_event_cb state_cb,
+                   wakeup_event_cb wakeup_cb,
+                   key_event_cb key_cb,
+                   gesture_event_cb gesture_cb,
+                   voice_event_cb voice_cb,
+                   action_event_cb action_cb,
+                   feedback_event_cb feedback_cb);
+   void deregister_cb() async;
+   void get_focus() async;
+   void set_state(int state) async;
+}
+
diff --git a/tidl/mmifw.tidl b/tidl/mmifw.tidl
deleted file mode 100644 (file)
index 9c49b2b..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-struct focus_event {
-   int type;
-   int timestamp;
-   bool focus_in;
-}
-
-struct state_change_event {
-   int type;
-   int timestamp;
-   int state;
-   int old_state;
-}
-
-struct wakeup_event {
-   int type;
-   int timestamp;
-   string source;
-}
-
-struct key_event {
-   int type;
-   int timestamp;
-   bool key_down;
-   int keycode;
-   string keyname;
-   string source;
-}
-
-struct gesture_event {
-   int type;
-   int timestamp;
-   string source;
-}
-
-struct voice_event {
-   int type;
-   int timestamp;
-   string source;
-}
-
-struct action_event {
-   int type;
-   int timestamp;
-   string cmd;
-   array<string> args;
-   int nargs;
-   string source;
-}
-
-struct feedback_event {
-   int type;
-   int timestamp;
-   string feedback;
-   string comment;
-}
-
-interface mmifw {
-   void focus_event_cb(focus_event args) delegate;
-   void state_change_event_cb(state_change_event args) delegate;
-   void wakeup_event_cb(wakeup_event args) delegate;
-   void key_event_cb(key_event args) delegate;
-   void gesture_event_cb(gesture_event args) delegate;
-   void voice_event_cb(voice_event args) delegate;
-   void action_event_cb(action_event args) delegate;
-   void feedback_event_cb(feedback_event args) delegate;
-
-   int register_cb(focus_event_cb focus_cb,
-                   state_change_event_cb state_cb,
-                   wakeup_event_cb wakeup_cb,
-                   key_event_cb key_cb,
-                   gesture_event_cb gesture_cb,
-                   voice_event_cb voice_cb,
-                   action_event_cb action_cb,
-                   feedback_event_cb feedback_cb);
-   void deregister_cb() async;
-   void get_focus() async;
-   void set_state(int state) async;
-}
-