e_policy_zone: Add e_policy_zone_get 86/322486/1
authorJunseok Kim <juns.kim@samsung.com>
Thu, 27 Mar 2025 04:16:23 +0000 (13:16 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 10 Apr 2025 00:59:38 +0000 (09:59 +0900)
Change-Id: I2ba709e790e29353d4031205150f184958a074a4

src/bin/windowmgr/e_policy_zone.c
src/bin/windowmgr/e_policy_zone_intern.h

index 94b498e556335894487dc63dcac3960f03430e1e..b66b99352012d802081182e4cc4f66cee03c7a9c 100644 (file)
@@ -1789,6 +1789,19 @@ e_policy_zone_focus_reset_listener_add(E_Policy_Zone *policy_zone, struct wl_lis
    wl_signal_add(&policy_zone->events.focus_reset, listener);
 }
 
+EINTERN E_Policy_Zone *
+e_policy_zone_get(E_Zone *zone)
+{
+   E_Policy_Zone *policy_zone;
+   struct wl_listener *listener;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(zone, NULL);
+   listener = e_zone_destroy_listener_get(zone, _e_policy_zone_cb_zone_destroy);
+   if (!listener) return NULL;
+
+   return wl_container_of(listener, policy_zone, zone_destroy);
+}
+
 EINTERN E_Zone *
 e_policy_zone_get_zone(E_Policy_Zone *policy_zone)
 {
index 2164c5f4ff284a0aac3cdf5a82ad92476422a0fc..86d85aeb00b72dcfdaa9be760db5924426e2d29a 100644 (file)
@@ -18,6 +18,7 @@ EINTERN void e_policy_zone_client_remove_listener_add(E_Policy_Zone *policy_zone
 EINTERN void e_policy_zone_focus_clear_listener_add(E_Policy_Zone *policy_zone, struct wl_listener *listener);
 EINTERN void e_policy_zone_focus_reset_listener_add(E_Policy_Zone *policy_zone, struct wl_listener *listener);
 
+EINTERN E_Policy_Zone *e_policy_zone_get(E_Zone *zone);
 EINTERN E_Zone        *e_policy_zone_get_zone(E_Policy_Zone *policy_zone);
 EINTERN E_Policy_Zone *e_policy_zone_new(E_Zone *zone);
 EINTERN void           e_policy_zone_del(E_Policy_Zone *policy_zone);