[PATCH weston 00/16] IVI Layout Notification APIs Rework

Pekka Paalanen ppaalanen at gmail.com
Fri Apr 1 11:43:30 UTC 2016


On Thu, 31 Mar 2016 11:08:46 +0000
"Ucan, Emre (ADITG/SW1)" <eucan at de.adit-jv.com> wrote:

> 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(-)
> 

Hi,

I had separate comments on patch 2, which probably needs some bits of
patch 3.

Somehow I would assume that patch 4 would have a similar issue with
ivi_layout_layer_remove_notification() call being removed only in patch
5, but it didn't trigger for me.

Considering the add and remove notifier/listener are two sides of the
same thing, maybe it would be logical to do both in the same patch?
That is, squash 2 and 3, 4 and 5, etc.?

For all the add_listener public API functions you should document what
the void *data argument to the wl_listener::notify callback is.

In the great assignment block of static struct ivi_layout_interface
ivi_layout_interface it is ok to keep a comma also after the last item.
It helps keeping diffs one change smaller.

It is not needed to add a cast to/from void*.

Patches 1 and 16 are R-b me and pushed:
   87953b7..0bd29b6  master -> master

Patches 2 - 15 I hope to see revised.


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 811 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20160401/25486d94/attachment-0001.sig>


More information about the wayland-devel mailing list