change code to use E_EVENT_CLIENT_LAUNCH_REAL_DONE event 79/322379/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 8 Apr 2025 07:52:32 +0000 (16:52 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Tue, 8 Apr 2025 07:52:44 +0000 (16:52 +0900)
We will remove edje signal.
So, we replace code to use E_EVENT_CLIENT_LAUNCH_REAL_DONE event callback
instaed of the "e,action,launch_real,done" edje siganal callback.

Change-Id: I96d43f2e141a941d8da6c2ff117dbeb42437e4d4

src/e_mod_processmgr.c

index 94f5dd5980771580a724315a4d41ce4297b69f7e..672f9595aa7d682c86ac741bb7619cfb2a8e726b 100644 (file)
@@ -27,9 +27,6 @@ static Eldbus_Message *_e_processmgr_visible_window_info_v2_get(const Eldbus_Ser
 static Eldbus_Message *_e_processmgr_visible_window_info_v3_get(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg);
 static Eldbus_Message *_e_processmgr_focus_pid_get(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg);
 
-static Eina_Bool _e_processmgr_cb_client_add(void *data EINA_UNUSED, int type EINA_UNUSED, void *event);
-static Eina_Bool _e_processmgr_cb_client_remove(void *data EINA_UNUSED, int type EINA_UNUSED, void *event);
-
 static const Eldbus_Method _e_processmgr_methods[] = {
    { "GetProcStatus", ELDBUS_ARGS({"i", "pid"}), ELDBUS_ARGS({"i","process status"}, {"i", "focused"}), _e_processmgr_process_info_get, 0 },
    { "GetVisibleWinInfo", NULL, ELDBUS_ARGS({"a("VALUE_TYPE_FOR_VISIBLE_WINS")", "array of window"}), _e_processmgr_visible_window_info_get, 0 },
@@ -379,75 +376,27 @@ _e_processmgr_focus_pid_get(const Eldbus_Service_Interface *iface EINA_UNUSED, c
    return reply;
 }
 
-static void
-_e_processmgr_cb_launch_done(void *data, Evas_Object *obj, const char *signal, const char *source)
-{
-   E_Client *ec;
-   int pid = -1;
-
-   ec = data;
-   if (!ec) return;
-
-   pid = _process_id_get(ec);
-   if (pid <= 0) return;
-
-   _e_processmgr_process_action_send(pid, E_PROCESS_ACT_LAUNCH);
-}
-
 static Eina_Bool
-_e_processmgr_cb_client_add(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+_e_processmgr_cb_launch_real_done(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
    E_Event_Client *ev;
    E_Client *ec;
+   int pid = -1;
 
    ev = event;
    if (!ev) return ECORE_CALLBACK_PASS_ON;
 
    ec = ev->ec;
-   e_comp_object_signal_callback_add(e_client_frame_get(ec),
-                                     "e,action,launch_real,done",
-                                     "e",
-                                     _e_processmgr_cb_launch_done,
-                                     ec);
-
-   return ECORE_CALLBACK_PASS_ON;
-}
+   if (!ec) return ECORE_CALLBACK_PASS_ON;
 
-static Eina_Bool
-_e_processmgr_cb_client_remove(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
-{
-   E_Event_Client *ev;
-   E_Client *ec;
-
-   ev = event;
-   if (!ev) return ECORE_CALLBACK_PASS_ON;
+   pid = _process_id_get(ec);
+   if (pid <= 0) return ECORE_CALLBACK_PASS_ON;
 
-   ec = ev->ec;
-   e_comp_object_signal_callback_del_full(e_client_frame_get(ec),
-                                          "e,action,launch_real,done",
-                                          "e",
-                                          _e_processmgr_cb_launch_done,
-                                          ec);
+   _e_processmgr_process_action_send(pid, E_PROCESS_ACT_LAUNCH);
 
    return ECORE_CALLBACK_PASS_ON;
 }
 
-static void
-_e_processmgr_cb_client_reuse(void *data EINA_UNUSED, E_Client *ec)
-{
-   e_comp_object_signal_callback_del_full(e_client_frame_get(ec),
-                                          "e,action,launch_real,done",
-                                          "e",
-                                          _e_processmgr_cb_launch_done,
-                                          ec);
-
-   e_comp_object_signal_callback_add(e_client_frame_get(ec),
-                                     "e,action,launch_real,done",
-                                     "e",
-                                     _e_processmgr_cb_launch_done,
-                                     ec);
-}
-
 static Eina_Bool
 _dbus_init(void)
 {
@@ -516,10 +465,7 @@ e_mod_processmgr_init(void)
    hook = e_process_hook_add(E_PROCESS_HOOK_ACTION_CHANGE, _e_processmgr_cb_hook_action_change, NULL);
    if (hook) hooks_ec = eina_list_append(hooks_ec, hook);
 
-   E_LIST_HANDLER_APPEND(_e_processmgr_ec_handlers, E_EVENT_CLIENT_ADD, _e_processmgr_cb_client_add, NULL);
-   E_LIST_HANDLER_APPEND(_e_processmgr_ec_handlers, E_EVENT_CLIENT_REMOVE, _e_processmgr_cb_client_remove, NULL);
-
-   E_COMP_WL_HOOK_APPEND(_e_processmgr_wl_hooks, E_COMP_WL_HOOK_CLIENT_REUSE, _e_processmgr_cb_client_reuse, NULL);
+   E_LIST_HANDLER_APPEND(_e_processmgr_ec_handlers, E_EVENT_CLIENT_LAUNCH_REAL_DONE, _e_processmgr_cb_launch_real_done, NULL);
 
    return EINA_TRUE;