weston loads hmi-controller as a weston module. IVI-shell does not need to load it explicitly.
Signed-off-by: Emre Ucan <eu...@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; 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[]) { 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_pre...@ivi-shell.so +modules=@plugin_pre...@hmi-controller.so [ivi-shell] -ivi-module=@plugin_pre...@hmi-controller.so ivi-shell-user-interface=@abs_top_builddir@/weston-ivi-shell-user-interface #developermode=true -- 2.7.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel