e_desk: Add argument to copy appid to hook function 00/290600/1
authorJunseok Kim <juns.kim@samsung.com>
Fri, 17 Mar 2023 02:47:05 +0000 (11:47 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 29 Mar 2023 09:56:01 +0000 (18:56 +0900)
Change-Id: I51ea559114ce15fd0215503449e22205ff6049da

src/bin/e_desk.c
src/bin/e_desk_group.c
src/bin/e_desk_group.h

index fd729ec..69ad125 100644 (file)
@@ -2261,9 +2261,8 @@ _e_desk_splitscreen_region_cb_assign_appid(struct wl_client *client,
 
    if (!(edg = wl_resource_get_user_data(resource))) return;
 
-   // TODO: copy the appid string to the E_Desk_Group....
    // call the E_DESK_GROUP_HOOK_ASSIGN_APPID hook
-   if (!e_desk_group_hook_call(edg, E_DESK_GROUP_HOOK_SET_APPID))
+   if (!e_desk_group_hook_call(edg, E_DESK_GROUP_HOOK_SET_APPID, (void *)appid))
      {
        ERR("e_desk_zoom_set: fail get eout");
        return;
index 4d670cb..5bf4f2e 100644 (file)
@@ -18,7 +18,7 @@ struct _E_Desk_Group_Hook
 };
 
 static void        _e_desk_group_hooks_clean(void);
-static Eina_Bool   _e_desk_group_hook_call(E_Desk_Group_Hook_Point hookpoint, E_Desk_Group *desk_group);
+static Eina_Bool   _e_desk_group_hook_call(E_Desk_Group_Hook_Point hookpoint, E_Desk_Group *desk_group, void *appid);
 
 static Eina_Bool
 _check_desk_group_client_layer_validation(E_Desk_Group_Client_Layer edgc_layer)
@@ -970,7 +970,7 @@ _e_desk_group_hooks_clean(void)
 }
 
 static Eina_Bool
-_e_desk_group_hook_call(E_Desk_Group_Hook_Point hookpoint, E_Desk_Group *desk_group)
+_e_desk_group_hook_call(E_Desk_Group_Hook_Point hookpoint, E_Desk_Group *desk_group, void *data)
 {
    E_Desk_Group_Hook *dgh;
 
@@ -979,7 +979,7 @@ _e_desk_group_hook_call(E_Desk_Group_Hook_Point hookpoint, E_Desk_Group *desk_gr
    EINA_INLIST_FOREACH(_e_desk_group_hooks[hookpoint], dgh)
      {
         if (dgh->delete_me) continue;
-        dgh->func(dgh->data, desk_group);
+        dgh->func(dgh->data, desk_group, data);
      }
    _e_desk_group_hooks_walking--;
    if ((_e_desk_group_hooks_walking == 0) && (_e_desk_group_hooks_delete > 0))
@@ -989,9 +989,9 @@ _e_desk_group_hook_call(E_Desk_Group_Hook_Point hookpoint, E_Desk_Group *desk_gr
 }
 
 EINTERN Eina_Bool
-e_desk_group_hook_call(E_Desk_Group *edg, E_Desk_Group_Hook_Point hookpoint)
+e_desk_group_hook_call(E_Desk_Group *edg, E_Desk_Group_Hook_Point hookpoint, void *data)
 {
-   return _e_desk_group_hook_call(hookpoint, edg);
+   return _e_desk_group_hook_call(hookpoint, edg, data);
 }
 
 E_API E_Desk_Group_Hook *
index 121cef4..7f15432 100644 (file)
@@ -29,7 +29,7 @@ typedef enum _E_Desk_Group_Hook_Point
    E_DESK_GROUP_HOOK_LAST
 } E_Desk_Group_Hook_Point;
 
-typedef void (*E_Desk_Group_Hook_Cb)(void *data, E_Desk_Group *desk_group);
+typedef void (*E_Desk_Group_Hook_Cb)(void *data, E_Desk_Group *desk_group, void *hook_data);
 
 struct _E_Desk_Group
 {
@@ -97,7 +97,7 @@ E_API   Eina_List    *e_desk_group_ec_list_get(E_Desk_Group *edg);
 // for debug
 EINTERN void          e_desk_group_info_print(E_Desk_Group *edg);
 
-EINTERN Eina_Bool        e_desk_group_hook_call(E_Desk_Group *edg, E_Desk_Group_Hook_Point hookpoint);
+EINTERN Eina_Bool        e_desk_group_hook_call(E_Desk_Group *edg, E_Desk_Group_Hook_Point hookpoint, void *data);
 E_API E_Desk_Group_Hook *e_desk_group_hook_add(E_Desk_Group_Hook_Point hookpoint, E_Desk_Group_Hook_Cb func, const void *data);
 E_API void               e_desk_group_hook_del(E_Desk_Group_Hook *dgh);