[PATCH weston 3/9] ivi-shell: add cmdline option for controller module

Pekka Paalanen ppaalanen at gmail.com
Mon Mar 30 02:20:06 PDT 2015


From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>

This will be useful for tests, where we use --no-config, but ivi-shell
needs load the controller module from somewhere.

We are not making hmi-controller.so the default, because this patch
should allow running the tests also with another controller.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
---
 ivi-shell/ivi-shell.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c
index 362a3c3..aef8e63 100644
--- a/ivi-shell/ivi-shell.c
+++ b/ivi-shell/ivi-shell.c
@@ -386,20 +386,26 @@ init_ivi_shell(struct weston_compositor *compositor, struct ivi_shell *shell,
 
 static int
 ivi_shell_setting_create(struct ivi_shell_setting *dest,
-			 struct weston_compositor *compositor)
+			 struct weston_compositor *compositor,
+			 int *argc, char *argv[])
 {
 	int result = 0;
 	struct weston_config *config = compositor->config;
 	struct weston_config_section *section;
 
-	if (NULL == dest)
-		return -1;
+	const struct weston_option ivi_shell_options[] = {
+		{ WESTON_OPTION_STRING, "ivi-module", 0, &dest->ivi_module },
+	};
+
+	parse_options(ivi_shell_options, ARRAY_LENGTH(ivi_shell_options),
+		      argc, argv);
 
 	section = weston_config_get_section(config, "ivi-shell", NULL, NULL);
 
-	if (weston_config_section_get_string(section, "ivi-module",
-					     &dest->ivi_module, NULL) != 0) {
-		weston_log("ivi-shell: No ivi-module set in config\n");
+	if (!dest->ivi_module &&
+	    weston_config_section_get_string(section, "ivi-module",
+					     &dest->ivi_module, NULL) < 0) {
+		weston_log("Error: ivi-shell: No ivi-module set\n");
 		result = -1;
 	}
 
@@ -424,7 +430,7 @@ module_init(struct weston_compositor *compositor,
 	if (shell == NULL)
 		return -1;
 
-	if (ivi_shell_setting_create(&setting, compositor) != 0)
+	if (ivi_shell_setting_create(&setting, compositor, argc, argv) != 0)
 		return -1;
 
 	init_ivi_shell(compositor, shell, &setting);
-- 
2.0.5



More information about the wayland-devel mailing list