From 2ef4498938f48b2ce6acfede0b37d54fb71e03f0 Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Tue, 29 May 2012 16:19:28 +0300 Subject: [PATCH] main: Add InputRequestTimeout and BrowserLaunchTimeout variables Add InputRequestTimeout and BrowserLaunchTimeout main.conf variable handling and functions for fetching their values. --- include/setting.h | 3 +++ src/main.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/include/setting.h b/include/setting.h index 6503388..e867a78 100644 --- a/include/setting.h +++ b/include/setting.h @@ -32,6 +32,9 @@ connman_bool_t connman_setting_get_bool(const char *key); char **connman_setting_get_string_list(const char *key); unsigned int *connman_setting_get_uint_list(const char *key); +unsigned int connman_timeout_input_request(void); +unsigned int connman_timeout_browser_launch(void); + #ifdef __cplusplus } #endif diff --git a/src/main.c b/src/main.c index 48a956c..7a284b1 100644 --- a/src/main.c +++ b/src/main.c @@ -39,18 +39,25 @@ #include "connman.h" +#define DEFAULT_INPUT_REQUEST_TIMEOUT 120 * 1000 +#define DEFAULT_BROWSER_LAUNCH_TIMEOUT 300 * 1000 + static struct { connman_bool_t bg_scan; char **pref_timeservers; unsigned int *auto_connect; unsigned int *preferred_techs; char **fallback_nameservers; + unsigned int timeout_inputreq; + unsigned int timeout_browserlaunch; } connman_settings = { .bg_scan = TRUE, .pref_timeservers = NULL, .auto_connect = NULL, .preferred_techs = NULL, .fallback_nameservers = NULL, + .timeout_inputreq = DEFAULT_INPUT_REQUEST_TIMEOUT, + .timeout_browserlaunch = DEFAULT_BROWSER_LAUNCH_TIMEOUT, }; static GKeyFile *load_config(const char *file) @@ -144,6 +151,7 @@ static void parse_config(GKeyFile *config) "cellular", NULL }; + int timeout; if (config == NULL) { connman_settings.auto_connect = @@ -202,6 +210,20 @@ static void parse_config(GKeyFile *config) g_strfreev(str_list); g_clear_error(&error); + + timeout = g_key_file_get_integer(config, "General", + "InputRequestTimeout", &error); + if (error == NULL && timeout >= 0) + connman_settings.timeout_inputreq = timeout * 1000; + + g_clear_error(&error); + + timeout = g_key_file_get_integer(config, "General", + "BrowserLaunchTimeout", &error); + if (error == NULL && timeout >= 0) + connman_settings.timeout_browserlaunch = timeout * 1000; + + g_clear_error(&error); } static GMainLoop *main_loop = NULL; @@ -374,6 +396,14 @@ unsigned int *connman_setting_get_uint_list(const char *key) return NULL; } +unsigned int connman_timeout_input_request(void) { + return connman_settings.timeout_inputreq; +} + +unsigned int connman_timeout_browser_launch(void) { + return connman_settings.timeout_browserlaunch; +} + int main(int argc, char *argv[]) { GOptionContext *context; -- 2.7.4