[PATCH weston 3/6] hmi-controller: load as weston module
Emre Ucan
eucan at de.adit-jv.com
Wed Jan 3 15:09:18 UTC 2018
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;
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_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
--
2.7.4
More information about the wayland-devel
mailing list