mmi-manager: added event types, structures, functions to init/deinit for focus/state... 38/264038/1
authorSung-Jin Park <sj76.park@samsung.com>
Sat, 24 Jul 2021 18:46:29 +0000 (03:46 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Mon, 13 Sep 2021 11:24:32 +0000 (20:24 +0900)
Change-Id: I93b25cbf04fd1f78c140286438106519d9d69578
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
src/mmi-manager.c
src/mmi-manager.h

index 3477ed4..c2f2bbe 100644 (file)
@@ -34,6 +34,9 @@
 
 static Eina_Bool _init_done = false;
 
+int MMI_MANAGER_EVENT_FOCUS_CHANGE = -1;
+int MMI_MANAGER_EVENT_STATE_CHANGE = -1;
+
 int
 mmi_manager_get_focus(mmi_client *client)
 {
@@ -53,6 +56,20 @@ mmi_manager_set_state(mmi_client *client, mmi_state state)
        return 0;
 }
 
+static void
+_event_init()
+{
+       MMI_MANAGER_EVENT_FOCUS_CHANGE = ecore_event_type_new();
+       MMI_MANAGER_EVENT_STATE_CHANGE = ecore_event_type_new();
+}
+
+static void
+_event_shutdown()
+{
+       MMI_MANAGER_EVENT_FOCUS_CHANGE = -1;
+       MMI_MANAGER_EVENT_STATE_CHANGE = -1;
+}
+
 void
 mmi_manager_init()
 {
@@ -60,6 +77,8 @@ mmi_manager_init()
                return;
 
        ecore_init();
+       _event_init();
+
        mmi_core_init();
        modality_providers_init();
        modality_fusions_init();
@@ -91,7 +110,9 @@ mmi_manager_shutdown()
        modality_fusions_shutdown();
        modality_providers_shutdown();
        mmi_core_shutdown();
+
        ecore_shutdown();
+       _event_shutdown();
 
        _init_done = false;
 }
index 51312a5..0344a84 100644 (file)
 
 #include "mmi-client.h"
 
+MMI_API extern int MMI_MANAGER_EVENT_FOCUS_CHANGE;
+MMI_API extern int MMI_MANAGER_EVENT_STATE_CHANGE;
+
+typedef struct
+{
+        int timestamp;
+        mmi_client *cur_focus;
+        mmi_client *new_focus;
+} mmi_manager_event_focus_change;
+
+typedef struct
+{
+        int timestamp;
+        mmi_client *client;
+        mmi_state from_state;
+        mmi_state to_state;
+} mmi_manager_event_state_change;
+
 int mmi_manager_get_focus(mmi_client *client);
 int mmi_manager_set_state(mmi_client *client, mmi_state state);