[PATCH weston 3/6] hmi-controller: load as weston module
Pekka Paalanen
ppaalanen at gmail.com
Mon Jan 22 12:28:29 UTC 2018
On Wed, 3 Jan 2018 16:09:18 +0100
Emre Ucan <eucan at de.adit-jv.com> wrote:
> weston loads hmi-controller as a weston module.
> IVI-shell does not need to load it explicitly.
>
> Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>
> ---
> ivi-shell/hmi-controller.c | 33 ++++++++++++++-------------------
> ivi-shell/weston.ini.in | 2 +-
> 2 files changed, 15 insertions(+), 20 deletions(-)
>
> diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
> index 34abc11..e6dd174 100644
> --- a/ivi-shell/hmi-controller.c
> +++ b/ivi-shell/hmi-controller.c
> @@ -148,12 +148,6 @@ struct launcher_info {
> int32_t index;
> };
>
> -int
> -controller_module_init(struct weston_compositor *ec,
> - int *argc, char *argv[],
> - const struct ivi_layout_interface *interface,
> - size_t interface_version);
> -
> /*****************************************************************************
> * local functions
> ****************************************************************************/
> @@ -766,16 +760,24 @@ hmi_controller_destroy(struct wl_listener *listener, void *data)
> * ivi_hmi_controller_home is requested.
> */
> static struct hmi_controller *
> -hmi_controller_create(struct weston_compositor *ec,
> - const struct ivi_layout_interface *interface)
> +hmi_controller_create(struct weston_compositor *ec)
> {
> struct link_layer *tmp_link_layer = NULL;
> int32_t panel_height = 0;
> - struct hmi_controller *hmi_ctrl = MEM_ALLOC(sizeof(*hmi_ctrl));
> + struct hmi_controller *hmi_ctrl;
> + const struct ivi_layout_interface *interface;
> struct hmi_controller_layer *base_layer = NULL;
> struct hmi_controller_layer *application_layer = NULL;
> struct weston_output *output;
>
> + interface = ivi_layout_get_api(ec);
> +
> + if (!interface) {
> + weston_log("Cannot use ivi_layout_interface.\n");
> + return NULL;
> + }
> +
> + hmi_ctrl = MEM_ALLOC(sizeof(*hmi_ctrl));
> int32_t i = 0;
The definition of 'i' should be with the other definitions.
>
> wl_array_init(&hmi_ctrl->ui_widgets);
> @@ -1954,20 +1956,13 @@ launch_hmi_client_process(void *data)
> * exported functions
> ****************************************************************************/
> WL_EXPORT int
> -controller_module_init(struct weston_compositor *ec,
> - int *argc, char *argv[],
> - const struct ivi_layout_interface *interface,
> - size_t interface_version)
> +wet_module_init(struct weston_compositor *ec,
> + int *argc, char *argv[])
This patch causes the old way of loading controller modules fail with:
Failed to lookup init
function: /home/pq/local/lib/weston/hmi-controller.so: undefined
symbol: controller_module_init
Would be nicer if there was an error about a no longer used config key,
or if the config key was removed.
It doesn't bother me much though, so with the style nitpick fixed:
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Thanks,
pq
> {
> struct hmi_controller *hmi_ctrl = NULL;
> struct wl_event_loop *loop = NULL;
>
> - if (interface_version < sizeof(struct ivi_layout_interface)) {
> - weston_log("ivi-shell: version mismatch of controller interface\n");
> - return -1;
> - }
> -
> - hmi_ctrl = hmi_controller_create(ec, interface);
> + hmi_ctrl = hmi_controller_create(ec);
> if (hmi_ctrl == NULL)
> return -1;
>
> diff --git a/ivi-shell/weston.ini.in b/ivi-shell/weston.ini.in
> index 9b53691..3f11e1c 100644
> --- a/ivi-shell/weston.ini.in
> +++ b/ivi-shell/weston.ini.in
> @@ -1,8 +1,8 @@
> [core]
> shell=@plugin_prefix at ivi-shell.so
> +modules=@plugin_prefix at hmi-controller.so
>
> [ivi-shell]
> -ivi-module=@plugin_prefix at hmi-controller.so
> ivi-shell-user-interface=@abs_top_builddir@/weston-ivi-shell-user-interface
>
> #developermode=true
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20180122/c09bb2b1/attachment.sig>
More information about the wayland-devel
mailing list