From: Kristian Høgsberg Date: Sun, 22 Sep 2013 05:35:13 +0000 (-0700) Subject: tablet-shell: Use new weston_config instead of old config parse X-Git-Tag: upstream/0.1.8~922 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b159560da26ee26cf71264e6dddf80030a6a5bf3;p=profile%2Fivi%2Fweston-ivi-shell.git tablet-shell: Use new weston_config instead of old config parse --- diff --git a/clients/tablet-shell.c b/clients/tablet-shell.c index 436565a..7af6ac8 100644 --- a/clients/tablet-shell.c +++ b/clients/tablet-shell.c @@ -66,28 +66,6 @@ struct launcher { static char *key_lockscreen_icon; static char *key_lockscreen_background; static char *key_homescreen_background; -static char *key_launcher_icon; -static char *key_launcher_path; -static void launcher_section_done(void *data); - -static const struct config_key shell_config_keys[] = { - { "lockscreen-icon", CONFIG_KEY_STRING, &key_lockscreen_icon }, - { "lockscreen", CONFIG_KEY_STRING, &key_lockscreen_background }, - { "homescreen", CONFIG_KEY_STRING, &key_homescreen_background }, -}; - -static const struct config_key launcher_config_keys[] = { - { "icon", CONFIG_KEY_STRING, &key_launcher_icon }, - { "path", CONFIG_KEY_STRING, &key_launcher_path }, -}; - -static const struct config_section config_sections[] = { - { "shell", - shell_config_keys, ARRAY_LENGTH(shell_config_keys) }, - { "launcher", - launcher_config_keys, ARRAY_LENGTH(launcher_config_keys), - launcher_section_done } -}; static void sigchild_handler(int s) @@ -416,24 +394,6 @@ tablet_shell_add_launcher(struct tablet *tablet, } static void -launcher_section_done(void *data) -{ - struct tablet *tablet = data; - - if (key_launcher_icon == NULL || key_launcher_path == NULL) { - fprintf(stderr, "invalid launcher section\n"); - return; - } - - tablet_shell_add_launcher(tablet, key_launcher_icon, key_launcher_path); - - free(key_launcher_icon); - key_launcher_icon = NULL; - free(key_launcher_path); - key_launcher_path = NULL; -} - -static void global_handler(struct display *display, uint32_t name, const char *interface, uint32_t version, void *data) { @@ -454,6 +414,10 @@ int main(int argc, char *argv[]) struct display *display; int config_fd; struct output *output; + struct weston_config *config; + struct weston_config_section *s; + char *icon, *path; + const char *name; display = display_create(&argc, argv); if (display == NULL) { @@ -475,11 +439,37 @@ int main(int argc, char *argv[]) wl_list_init(&tablet.homescreen->launcher_list); config_fd = open_config_file("weston.ini"); - parse_config_file(config_fd, - config_sections, ARRAY_LENGTH(config_sections), - &tablet); + config = weston_config_parse(config_fd); close(config_fd); + s = weston_config_get_section(config, "shell", NULL, NULL); + weston_config_section_get_string(s, "lockscreen-icon", + &key_lockscreen_icon, NULL); + weston_config_section_get_string(s, "lockscreen", + &key_lockscreen_background, NULL); + weston_config_section_get_string(s, "homescreen", + &key_homescreen_background, NULL); + + s = NULL; + while (weston_config_next_section(config, &s, &name)) { + if (strcmp(name, "launcher") != 0) + continue; + + weston_config_section_get_string(s, "icon", &icon, NULL); + weston_config_section_get_string(s, "path", &path, NULL); + + if (icon == NULL || path == NULL) { + fprintf(stderr, "invalid launcher section\n"); + continue; + } + + tablet_shell_add_launcher(&tablet, icon, path); + free(icon); + free(path); + } + + weston_config_destroy(config); + signal(SIGCHLD, sigchild_handler); output = display_get_output(tablet.display);