From dac8f03df4a2abaa8e588fa4487e731bc0253a08 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 13 Nov 2018 22:41:52 -0500 Subject: Remove weston-ivi-extension Remove weston-ivi-extension recipe files, as they are being moved to the meta-agl-profile-graphical layer in the meta-agl repository. This allows using weston-ivi-extension in images other than agl-demo-platform. Bug-AGL: SPEC-1730 Change-Id: I31af55b4b0a6233b955688f888b42c4861385188 Signed-off-by: Scott Murray --- .../0001-Added-ivi-id-agent-to-CMake.patch | 35 -- .../0002-ivi-id-agent-added-ivi-id-agent.patch | 538 --------------------- .../0003-ivi-controller-load-id-agent-module.patch | 70 --- .../wandboard_fix_build.patch | 13 - .../wayland/wayland-ivi-extension_2.0.2.bb | 34 -- 5 files changed, 690 deletions(-) delete mode 100644 recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch delete mode 100644 recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch delete mode 100644 recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch delete mode 100644 recipes-graphics/wayland/wayland-ivi-extension/wandboard_fix_build.patch delete mode 100644 recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch b/recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch deleted file mode 100644 index feeef0e22..000000000 --- a/recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 48977cb77410247df547063d9d7bcd381fb13cde Mon Sep 17 00:00:00 2001 -From: Michael Teyfel -Date: Fri, 12 Oct 2018 17:12:24 +0200 -Subject: [PATCH 1/3] Added ivi-id-agent to CMake - -Signed-off-by: Michael Teyfel ---- - CMakeLists.txt | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c82136e..33662b9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,6 +23,9 @@ SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) - - project(wayland-ivi-extension) - -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(WESTON weston>=2.0.0 REQUIRED) -+ - SET(IVI_EXTENSION_VERSION 2.0.2) - SET(ILM_API_VERSION 2.0.2) - -@@ -35,6 +38,7 @@ add_subdirectory(ivi-layermanagement-api/ilmClient) - add_subdirectory(ivi-layermanagement-api/ilmControl) - add_subdirectory(ivi-layermanagement-api/test) - add_subdirectory(ivi-layermanagement-examples) -+add_subdirectory(ivi-id-agent-modules/ivi-id-agent) - - if(WITH_ILM_INPUT) - add_subdirectory(ivi-input-api/ilmInput) --- -2.7.4 - diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch b/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch deleted file mode 100644 index 2b78357fe..000000000 --- a/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch +++ /dev/null @@ -1,538 +0,0 @@ -From 42fc715a430068cdb4484e2cb119418da8ac4e6f Mon Sep 17 00:00:00 2001 -From: Michael Teyfel -Date: Fri, 12 Oct 2018 16:46:57 +0200 -Subject: [PATCH 2/3] ivi-id-agent: added ivi-id-agent - -This is a reference implementation of an ivi-id-agent plugin. It -creates surface-ids for desktop-surfaces depending on the configuration -provided in "weston.ini". For more please refer to the reference -implementation in this commit. - -The only public interface available is the "id_agent_module_init" -function. It is responsible for initialization of structs and reading -the configuration. - -In the reference "weston.ini" two types of configurations can be found: - -[desktop-app] is used to configure a particular application. Therefore -the desired surface-id must be provided. Moreover "app-title" is the -title that is provided by the desktop application (xdg-protocol). -"app-id" behaves accordingly. Although both parameters can be set, it -is not mandatory. Finally at least one has to be set. - -[desktop-app-default] enables the id-agent to generate generic -surface-ids for unconfigured applications, e.g. for development. This -tag is optional. To generate the id an interval starting from -"default-surface-id" to "default-surface-id-max" is used. The id is -incremented until the interval is exceeded. - -In the function "get_id" a surface-id is assigned by means of the -configuration. It can be adjusted, if another behavior is desired. -In this plugin the parameters, that are described above, are evaluated. - -To use these patches please also apply the dedicated patches for -weston: https://github.com/mtey/weston/tree/xdg_support_ivi_id_agent -Since libweston-desktop is used to introduce desktop-surface support, -xdg-protocol is supported. - -Signed-off-by: Michael Teyfel ---- - ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt | 69 ++++ - .../ivi-id-agent/src/ivi-id-agent.c | 381 +++++++++++++++++++++ - ivi-id-agent-modules/ivi-id-agent/weston.ini.in | 20 ++ - 3 files changed, 470 insertions(+) - create mode 100644 ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt - create mode 100644 ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c - create mode 100644 ivi-id-agent-modules/ivi-id-agent/weston.ini.in - -diff --git a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt -new file mode 100644 -index 0000000..2def105 ---- /dev/null -+++ b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt -@@ -0,0 +1,69 @@ -+############################################################################### -+# -+# Copyright (C) 2017 Advanced Driver Information Technology Joint Venture GmbH -+# -+# -+# Licensed under the Apache License, Version 2.0 (the "License"); -+# you may not use this file except in compliance with the License. -+# You may obtain a copy of the License at -+# -+# http://www.apache.org/licenses/LICENSE-2.0 -+# -+# Unless required by applicable law or agreed to in writing, software -+# distributed under the License is distributed on an "AS IS" BASIS, -+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+# See the License for the specific language governing permissions and -+# limitations under the License. -+# -+############################################################################### -+ -+cmake_minimum_required (VERSION 2.6) -+ -+project(ivi-id-agent) -+ -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED) -+pkg_check_modules(WESTON weston>=2.0.0 REQUIRED) -+pkg_check_modules(PIXMAN pixman-1 REQUIRED) -+pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-2 REQUIRED) -+ -+find_package(Threads REQUIRED) -+ -+include_directories( -+ src -+ ${WAYLAND_SERVER_INCLUDE_DIRS} -+ ${WESTON_INCLUDE_DIRS} -+ ${PIXMAN_INCLUDE_DIRS} -+) -+ -+link_directories( -+ ${WAYLAND_SERVER_LIBRARY_DIRS} -+ ${PIXMAN_LIBRARY_DIRS} -+) -+ -+ -+add_library(${PROJECT_NAME} MODULE -+ src/ivi-id-agent.c -+) -+ -+set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") -+ -+add_dependencies(${PROJECT_NAME} -+ ${WAYLAND_SERVER_LIBRARIES} -+ ${PIXMAN_LIBRARIES} -+) -+ -+set(LIBS -+ ${LIBS} -+ ${WAYLAND_SERVER_LIBRARIES} -+ ${LIBWESTON_DESKTOP_LIBRARIES} -+) -+ -+set(CMAKE_C_LDFLAGS "-module -avoid-version") -+ -+target_link_libraries(${PROJECT_NAME} ${LIBS}) -+ -+install ( -+ TARGETS ${PROJECT_NAME} -+ LIBRARY DESTINATION lib${LIB_SUFFIX}/weston -+) -diff --git a/ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c b/ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c -new file mode 100644 -index 0000000..9bc115d ---- /dev/null -+++ b/ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c -@@ -0,0 +1,381 @@ -+/* -+ * Copyright (C) 2017 Advanced Driver Information Technology Joint Venture GmbH -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and -+ * its documentation for any purpose is hereby granted without fee, provided -+ * that the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of the copyright holders not be used in -+ * advertising or publicity pertaining to distribution of the software -+ * without specific, written prior permission. The copyright holders make -+ * no representations about the suitability of this software for any -+ * purpose. It is provided "as is" without express or implied warranty. -+ * -+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS -+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include "config-parser.h" -+#include -+ -+#ifndef INVALID_ID -+#define INVALID_ID 0xFFFFFFFF -+#endif -+ -+struct db_elem -+{ -+ struct wl_list link; -+ uint32_t surface_id; -+ char *cfg_app_id; -+ char *cfg_title; -+ struct ivi_layout_surface *layout_surface; -+}; -+ -+struct ivi_id_agent -+{ -+ uint32_t default_behavior_set; -+ uint32_t default_surface_id; -+ uint32_t default_surface_id_max; -+ struct wl_list app_list; -+ struct weston_compositor *compositor; -+ const struct ivi_layout_interface *interface; -+ -+ struct wl_listener desktop_surface_configured; -+ struct wl_listener destroy_listener; -+ struct wl_listener surface_removed; -+}; -+ -+static int32_t -+check_config_parameter(char *cfg_val, char *val) -+{ -+ if (cfg_val == NULL) -+ return IVI_SUCCEEDED; -+ else if (val == NULL || strcmp(cfg_val, val) != 0) -+ return IVI_FAILED; -+ -+ return IVI_SUCCEEDED; -+} -+ -+static int32_t -+get_id_from_config(struct ivi_id_agent *ida, struct ivi_layout_surface -+ *layout_surface) { -+ struct db_elem *db_elem; -+ char *temp_app_id = NULL; -+ char *temp_title = NULL; -+ int ret = IVI_FAILED; -+ -+ struct weston_surface *weston_surface = -+ ida->interface->surface_get_weston_surface(layout_surface); -+ -+ /* Get app id and title */ -+ struct weston_desktop_surface *wds = weston_surface_get_desktop_surface( -+ weston_surface); -+ -+ if (weston_desktop_surface_get_app_id(wds) != NULL) -+ temp_app_id = strdup(weston_desktop_surface_get_app_id(wds)); -+ -+ if (weston_desktop_surface_get_title(wds) != NULL) -+ temp_title = strdup(weston_desktop_surface_get_title(wds)); -+ -+ /* -+ * Check for every config parameter to be fulfilled. This part must be -+ * extended, if additional attributes are desired to be checked. -+ */ -+ wl_list_for_each(db_elem, &ida->app_list, link) -+ { -+ if (check_config_parameter(db_elem->cfg_app_id, temp_app_id) == 0) { -+ if (check_config_parameter(db_elem->cfg_title, temp_title) == 0) { -+ /* Found configuration for application. */ -+ int res = ida->interface->surface_set_id(layout_surface, -+ db_elem->surface_id); -+ if (res) -+ continue; -+ -+ db_elem->layout_surface = layout_surface; -+ ret = IVI_SUCCEEDED; -+ -+ break; -+ } -+ } -+ } -+ -+ free(temp_app_id); -+ free(temp_title); -+ -+ return ret; -+} -+ -+/* -+ * This function generates the id of a surface in regard to the desired -+ * parameters. For implementation of different behavior in id generation please -+ * adjust this function. -+ * In this implementation the app_id and/or title of the application is used for -+ * identification. It is also possible to use the pid, uid or gid for example. -+ */ -+static int32_t -+get_id(struct ivi_id_agent *ida, struct ivi_layout_surface *layout_surface) -+{ -+ if (get_id_from_config(ida, layout_surface) == IVI_SUCCEEDED) -+ return IVI_SUCCEEDED; -+ -+ /* No default layer available */ -+ if (ida->default_behavior_set == 0) { -+ weston_log("ivi-id-agent: Could not find configuration for application\n"); -+ goto ivi_failed; -+ -+ /* Default behavior for unknown applications */ -+ } else if (ida->default_surface_id < ida->default_surface_id_max) { -+ weston_log("ivi-id-agent: No configuration for application adding to " -+ "default layer\n"); -+ -+ /* -+ * Check if ivi-shell application already created an application with -+ * desired surface_id -+ */ -+ struct ivi_layout_surface *temp_layout_surf = -+ ida->interface->get_surface_from_id( -+ ida->default_surface_id); -+ if ((temp_layout_surf != NULL) && (temp_layout_surf != layout_surface)) { -+ weston_log("ivi-id-agent: surface_id already used by an ivi-shell " -+ "application\n"); -+ goto ivi_failed; -+ } -+ -+ ida->interface->surface_set_id(layout_surface, -+ ida->default_surface_id); -+ ida->default_surface_id++; -+ -+ } else { -+ weston_log("ivi-id-agent: Interval for default surface_id generation " -+ "exceeded\n"); -+ goto ivi_failed; -+ } -+ -+ return IVI_SUCCEEDED; -+ -+ivi_failed: -+ return IVI_FAILED; -+} -+ -+static void -+desktop_surface_event_configure(struct wl_listener *listener, -+ void *data) -+{ -+ struct ivi_id_agent *ida = wl_container_of(listener, ida, -+ desktop_surface_configured); -+ -+ struct ivi_layout_surface *layout_surface = -+ (struct ivi_layout_surface *) data; -+ -+ if (get_id(ida, layout_surface) == IVI_FAILED) -+ weston_log("ivi-id-agent: Could not create surface_id for application\n"); -+} -+ -+static void -+surface_event_remove(struct wl_listener *listener, void *data) { -+ struct ivi_id_agent *ida = wl_container_of(listener, ida, -+ surface_removed); -+ struct ivi_layout_surface *layout_surface = -+ (struct ivi_layout_surface *) data; -+ struct db_elem *db_elem = NULL; -+ -+ wl_list_for_each(db_elem, &ida->app_list, link) -+ { -+ if(db_elem->layout_surface == layout_surface) { -+ db_elem->layout_surface = NULL; -+ break; -+ } -+ } -+} -+ -+static int32_t deinit(struct ivi_id_agent *ida); -+ -+static void -+id_agent_module_deinit(struct wl_listener *listener, void *data) { -+ (void)data; -+ struct ivi_id_agent *ida = wl_container_of(listener, ida, destroy_listener); -+ -+ deinit(ida); -+} -+ -+static int32_t -+check_config(struct db_elem *curr_db_elem, struct ivi_id_agent *ida) -+{ -+ struct db_elem *db_elem; -+ -+ if (ida->default_surface_id <= curr_db_elem->surface_id -+ && curr_db_elem->surface_id <= ida->default_surface_id_max) { -+ weston_log("ivi-id-agent: surface_id: %d in default id interval " -+ "[%d, %d] (CONFIG ERROR)\n", curr_db_elem->surface_id, -+ ida->default_surface_id, ida->default_surface_id_max); -+ goto ivi_failed; -+ } -+ -+ wl_list_for_each(db_elem, &ida->app_list, link) -+ { -+ if(curr_db_elem == db_elem) -+ continue; -+ -+ if (db_elem->surface_id == curr_db_elem->surface_id) { -+ weston_log("ivi-id-agent: Duplicate surface_id: %d (CONFIG ERROR)\n", -+ curr_db_elem->surface_id); -+ goto ivi_failed; -+ } -+ } -+ -+ return IVI_SUCCEEDED; -+ -+ivi_failed: -+ return IVI_FAILED; -+} -+ -+static int32_t -+read_config(struct ivi_id_agent *ida) -+{ -+ struct weston_config *config = NULL; -+ struct weston_config_section *section = NULL; -+ const char *name = NULL; -+ -+ config = wet_get_config(ida->compositor); -+ if (!config) -+ goto ivi_failed; -+ -+ section = weston_config_get_section(config, "desktop-app-default", NULL, -+ NULL); -+ -+ if (section) { -+ weston_log("ivi-id-agent: Default behavior for unknown applications is " -+ "set\n"); -+ ida->default_behavior_set = 1; -+ -+ weston_config_section_get_uint(section, "default-surface-id", -+ &ida->default_surface_id, INVALID_ID); -+ weston_config_section_get_uint(section, "default-surface-id-max", -+ &ida->default_surface_id_max, INVALID_ID); -+ -+ if (ida->default_surface_id == INVALID_ID || -+ ida->default_surface_id_max == INVALID_ID) { -+ weston_log("ivi-id-agent: Missing configuration for default " -+ "behavior\n"); -+ ida->default_behavior_set = 0; -+ } -+ } else { -+ ida->default_behavior_set = 0; -+ } -+ -+ section = NULL; -+ while (weston_config_next_section(config, §ion, &name)) { -+ struct db_elem *db_elem = NULL; -+ -+ if (strcmp(name, "desktop-app") != 0) -+ continue; -+ -+ db_elem = calloc(1, sizeof *db_elem); -+ if (db_elem == NULL) { -+ weston_log("ivi-id-agent: No memory to allocate\n"); -+ goto ivi_failed; -+ } -+ -+ wl_list_insert(&ida->app_list, &db_elem->link); -+ -+ weston_config_section_get_uint(section, "surface-id", -+ &db_elem->surface_id, INVALID_ID); -+ -+ if (db_elem->surface_id == INVALID_ID) { -+ weston_log("ivi-id-agent: surface-id is not set in configuration\n"); -+ goto ivi_failed; -+ } -+ -+ weston_config_section_get_string(section, "app-id", -+ &db_elem->cfg_app_id, NULL); -+ weston_config_section_get_string(section, "app-title", -+ &db_elem->cfg_title, NULL); -+ -+ if (db_elem->cfg_app_id == NULL && db_elem->cfg_title == NULL) { -+ weston_log("ivi-id-agent: Every parameter is NULL in app " -+ "configuration\n"); -+ goto ivi_failed; -+ } -+ -+ if (check_config(db_elem, ida) == IVI_FAILED) { -+ weston_log("ivi-id-agent: No valid config found, deinit...\n"); -+ goto ivi_failed; -+ } -+ } -+ -+ if(ida->default_behavior_set == 0 && wl_list_empty(&ida->app_list)) { -+ weston_log("ivi-id-agent: No valid config found, deinit...\n"); -+ goto ivi_failed; -+ } -+ -+ return IVI_SUCCEEDED; -+ -+ivi_failed: -+ return IVI_FAILED; -+} -+ -+WL_EXPORT int32_t -+id_agent_module_init(struct weston_compositor *compositor, -+ const struct ivi_layout_interface *interface) -+{ -+ struct ivi_id_agent *ida = NULL; -+ -+ ida = calloc(1, sizeof *ida); -+ if (ida == NULL) { -+ weston_log("failed to allocate ivi_id_agent\n"); -+ goto ivi_failed; -+ } -+ -+ ida->compositor = compositor; -+ ida->interface = interface; -+ ida->desktop_surface_configured.notify = desktop_surface_event_configure; -+ ida->destroy_listener.notify = id_agent_module_deinit; -+ ida->surface_removed.notify = surface_event_remove; -+ -+ wl_signal_add(&compositor->destroy_signal, &ida->destroy_listener); -+ ida->interface->add_listener_configure_desktop_surface( -+ &ida->desktop_surface_configured); -+ interface->add_listener_remove_surface(&ida->surface_removed); -+ -+ wl_list_init(&ida->app_list); -+ if(read_config(ida) != 0) { -+ weston_log("ivi-id-agent: Read config failed\n"); -+ deinit(ida); -+ goto ivi_failed; -+ } -+ -+ return IVI_SUCCEEDED; -+ -+ivi_failed: -+ return IVI_FAILED; -+} -+ -+static int32_t -+deinit(struct ivi_id_agent *ida) -+{ -+ struct db_elem *db_elem; -+ wl_list_for_each(db_elem, &ida->app_list, link) { -+ free(db_elem->cfg_app_id); -+ free(db_elem->cfg_title); -+ free(db_elem); -+ } -+ -+ wl_list_remove(&ida->desktop_surface_configured.link); -+ wl_list_remove(&ida->destroy_listener.link); -+ wl_list_remove(&ida->surface_removed.link); -+ free(ida); -+ -+ return IVI_SUCCEEDED; -+} -diff --git a/ivi-id-agent-modules/ivi-id-agent/weston.ini.in b/ivi-id-agent-modules/ivi-id-agent/weston.ini.in -new file mode 100644 -index 0000000..48a196c ---- /dev/null -+++ b/ivi-id-agent-modules/ivi-id-agent/weston.ini.in -@@ -0,0 +1,20 @@ -+[core] -+shell=ivi-shell.so -+require-input=false -+ -+[ivi-shell] -+ivi-module=ivi-controller.so -+ivi-input-module=ivi-input-controller.so -+ivi-id-agent-module=ivi-id-agent.so -+ -+[desktop-app] -+surface-id=111 -+app-title=Flower -+ -+[desktop-app] -+surface-id=251 -+app-title=Flower -+ -+[desktop-app-default] -+default-surface-id=2000000 -+default-surface-id-max=2001000 --- -2.7.4 - 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 deleted file mode 100644 index 06fe7843a..000000000 --- a/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch +++ /dev/null @@ -1,70 +0,0 @@ -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 - diff --git a/recipes-graphics/wayland/wayland-ivi-extension/wandboard_fix_build.patch b/recipes-graphics/wayland/wayland-ivi-extension/wandboard_fix_build.patch deleted file mode 100644 index 86b448be1..000000000 --- a/recipes-graphics/wayland/wayland-ivi-extension/wandboard_fix_build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3610fa9..8b4614d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -34,7 +34,7 @@ add_subdirectory(ivi-layermanagement-api/ilmCommon) - add_subdirectory(ivi-layermanagement-api/ilmClient) - add_subdirectory(ivi-layermanagement-api/ilmControl) - add_subdirectory(ivi-layermanagement-api/test) --add_subdirectory(ivi-layermanagement-examples) -+#add_subdirectory(ivi-layermanagement-examples) - - if(WITH_ILM_INPUT) - add_subdirectory(ivi-input-api/ilmInput) diff --git a/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb b/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb deleted file mode 100644 index 3f0e34f4b..000000000 --- a/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Wayland IVI Extension" -DESCRIPTION = "GENIVI Layer Management API based on Wayland IVI Extension" -HOMEPAGE = "http://projects.genivi.org/wayland-ivi-extension" -BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Extension" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1f1a56bb2dadf5f2be8eb342acf4ed79" - -SRCREV = "ff067a640451de46836200624ece7ac777977c30" -SRC_URI = "git://github.com/GENIVI/${BPN}.git;branch=2.0;protocol=http \ - file://0001-Added-ivi-id-agent-to-CMake.patch \ - file://0002-ivi-id-agent-added-ivi-id-agent.patch \ - file://0003-ivi-controller-load-id-agent-module.patch \ - " -SRC_URI_append_wandboard = " file://wandboard_fix_build.patch" - -S = "${WORKDIR}/git" - -DEPENDS = "weston virtual/libgles2 pixman wayland-native" - -FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:" - -# workaround paralellism issue: -PARALLEL_MAKE = "" - -inherit cmake - -EXTRA_OECMAKE := "-DWITH_ILM_INPUT=1" - -FILES_${PN} += "${libdir}/weston/*" -FILES_${PN} += "${datadir}/wayland-protocols/stable/ivi-application/*" - -FILES_${PN}-dbg += "${libdir}/weston/.debug/*" - -EXTRA_OECMAKE += "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}" -- cgit 1.2.3-korg