I changed the interface of the notification APIs to get a wl_listener instead of a ivi-shell specific notification callback function.
This change has several advantages: 1. Code cleanup 2. No dynamic memory allocation. Listeners are allocated by controller plugins 3. Remove API is not needed. Controller plugins can easily remove the listener link. The first patch is a preparation for the notification API changes. It moves the event_mask to ivi_layout_surface/layer_properties struct, so that it is accessible by get_properties_of_layer/surface APIs. Then, it is not needed to send event_mask with an ivi-shell callback function. The patches 2-15 modifies and renames IVI Layout notification APIs, and removes their remove APIs. The 16th patch removes content_observer callback function which is a leftover of the patch: 193e301c740b582f20307e3e08f8373d26ea968f Emre Ucan (16): ivi-shell: move event_mask to properties struct ivi-shell: rework surface_add_notification API ivi-shell: remove surface_remove_notification APIs ivi-shell: rework layer_add_notification API ivi-shell: remove layer_remove_notification APIs ivi-shell: rework create_surface notification ivi-shell: remove remove_notification_create_surface ivi-shell: rework create_layer_notification ivi-shell: remove remove_notification_create_layer ivi-shell: rework remove_layer notification ivi-shell: remove remove_notification_remove_layer ivi-shell: rework remove_surface notification ivi-shell: remove remove_notification_remove_surface ivi-shell: rework configure_surface notification ivi-shell: remove remove_notification_configure_surface ivi-shell: remove content_observer leftover ivi-shell/hmi-controller.c | 42 +-- ivi-shell/ivi-layout-export.h | 113 +------- ivi-shell/ivi-layout-private.h | 2 - ivi-shell/ivi-layout.c | 545 +++++--------------------------------- tests/ivi_layout-internal-test.c | 76 +++--- tests/ivi_layout-test-plugin.c | 93 ++++--- 6 files changed, 209 insertions(+), 662 deletions(-) -- 1.7.9.5 _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
