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;
};
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)
}
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;
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))
}
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 *
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
{
// 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);