From 22c95375e2ab1ab229b68ef9607f6a503dc44ccc Mon Sep 17 00:00:00 2001 From: Michael Teyfel Date: Wed, 8 Aug 2018 17:18:05 +0200 Subject: wayland-ivi-extension: Added ivi-id-agent by mtey As explained in further discussions, the simple-id-agent is a basic example for reference. This commit adds the ivi-id-agent [1]. It is still a reference implementation but already offers more features (like configurations) that should be desirable for AGL. [1] https://github.com/mtey/wayland-ivi-extension/commits/xdg_support_ivi_id_agent Change-Id: I041b81b480be8fd49fded9d9c9824a0dbb3b568f Signed-off-by: Michael Teyfel --- .../0003-ivi-controller-load-id-agent-module.patch | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch (limited to 'recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch') diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch b/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch new file mode 100644 index 00000000..06fe7843 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch @@ -0,0 +1,70 @@ +From 5fed5c51ca8c1574804362bfdea4930c16457d34 Mon Sep 17 00:00:00 2001 +From: Michael Teyfel +Date: Fri, 12 Oct 2018 16:57:24 +0200 +Subject: [PATCH 3/3] ivi-controller: load id-agent module + +Signed-off-by: Michael Teyfel +--- + weston-ivi-shell/src/ivi-controller.c | 39 +++++++++++++++++++++++++++++++++++ + 1 file changed, 39 insertions(+) + +diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c +index 6d95c88..f6ac174 100644 +--- a/weston-ivi-shell/src/ivi-controller.c ++++ b/weston-ivi-shell/src/ivi-controller.c +@@ -2164,6 +2164,41 @@ load_input_module(struct ivishell *shell) + return 0; + } + ++static int load_id_agent_module(struct ivishell *shell) ++{ ++ struct weston_config *config = wet_get_config(shell->compositor); ++ struct weston_config_section *section; ++ char *id_agent_module = NULL; ++ ++ int (*id_agent_module_init)(struct weston_compositor *compositor, ++ const struct ivi_layout_interface *interface); ++ ++ section = weston_config_get_section(config, "ivi-shell", NULL, NULL); ++ ++ if (weston_config_section_get_string(section, "ivi-id-agent-module", ++ &id_agent_module, NULL) < 0) { ++ /* input events are handled by weston's default grabs */ ++ weston_log("ivi-controller: No ivi-id-agent-module set\n"); ++ return 0; ++ } ++ ++ id_agent_module_init = wet_load_module_entrypoint(id_agent_module, "id_agent_module_init"); ++ if (!id_agent_module_init) { ++ free(id_agent_module); ++ return -1; ++ } ++ ++ if (id_agent_module_init(shell->compositor, shell->interface) != 0) { ++ weston_log("ivi-controller: Initialization of id-agent module failed\n"); ++ free(id_agent_module); ++ return -1; ++ } ++ ++ free(id_agent_module); ++ ++ return 0; ++} ++ + static void + launch_client_process(void *data) + { +@@ -2229,6 +2264,10 @@ controller_module_init(struct weston_compositor *compositor, + return -1; + } + ++ if (load_id_agent_module(shell) < 0) { ++ weston_log("ivi-controller: id-agent module not loaded\n"); ++ } ++ + if (shell->bkgnd_surface_id && shell->ivi_client_name) { + loop = wl_display_get_event_loop(compositor->wl_display); + wl_event_loop_add_idle(loop, launch_client_process, shell); +-- +2.7.4 + -- cgit 1.2.3-korg