Register with system bus in container environment
[platform/upstream/connman.git] / src / main.c
index 7938a06..278b502 100755 (executable)
@@ -48,6 +48,7 @@
 
 #if defined TIZEN_EXT
 #define DEFAULT_WIFI_INTERFACE "wlan0"
+#define CONTAINER_FILE "/run/systemd/container"
 #endif
 
 #define MAINFILE "main.conf"
@@ -106,7 +107,7 @@ static struct {
        char *def_wifi_ifname;
        bool file_log;
        bool dlog_log;
-       bool simplified_log;
+       bool simple_log;
 #endif
 } connman_settings  = {
        .bg_scan = true,
@@ -139,7 +140,7 @@ static struct {
        .def_wifi_ifname = DEFAULT_WIFI_INTERFACE,
        .file_log = true,
        .dlog_log = true,
-       .simplified_log = true,
+       .simple_log = true,
 #endif
 };
 
@@ -695,7 +696,7 @@ static void check_Tizen_configuration(GKeyFile *config)
        boolean = __connman_config_get_bool(config, "General",
                        CONF_CONNMAN_SIMPLIFIED_LOG, &error);
        if (!error)
-               connman_settings.simplified_log = boolean;
+               connman_settings.simple_log = boolean;
 
        g_clear_error(&error);
 
@@ -766,6 +767,8 @@ static void parse_config(GKeyFile *config)
                connman_settings.auto_connect =
                        parse_service_types(default_auto_connect, CONF_ARRAY_SIZE(default_auto_connect));
 
+       g_strfreev(str_list);
+
        g_clear_error(&error);
 
        str_list = __connman_config_get_string_list(config, "General",
@@ -940,10 +943,11 @@ static int config_init(const char *file)
        parse_config(config);
        if (config)
                g_key_file_free(config);
+
 #if defined TIZEN_EXT
-       dlog_logging = connman_settings.dlog_log;
-       file_logging = connman_settings.file_log;
-       simplified_log = connman_settings.simplified_log;
+       set_simple_log_option(connman_settings.simple_log);
+       set_dlog_logging_option(connman_settings.dlog_log);
+       set_file_logging_option(connman_settings.file_log);
 #endif
        return 0;
 }
@@ -1179,7 +1183,7 @@ bool connman_setting_get_bool(const char *key)
                return connman_settings.dlog_log;
 
        if (g_str_equal(key, CONF_CONNMAN_SIMPLIFIED_LOG))
-               return connman_settings.simplified_log;
+               return connman_settings.simple_log;
 #endif
 
 #if defined TIZEN_EXT
@@ -1375,6 +1379,21 @@ int main(int argc, char *argv[])
 
        __connman_dbus_init(conn);
 
+#if defined TIZEN_EXT
+       if (access(CONTAINER_FILE, F_OK) == 0) {
+               g_main_loop_run(main_loop);
+
+               g_source_remove(signal);
+               dbus_connection_unref(conn);
+               g_main_loop_unref(main_loop);
+
+               __connman_dbus_cleanup();
+               __connman_log_cleanup(option_backtrace);
+
+               return 0;
+       }
+#endif
+
        if (!option_config)
                config_init(CONFIGMAINFILE);
        else
@@ -1406,7 +1425,11 @@ int main(int argc, char *argv[])
        __connman_clock_init();
 
        __connman_ipconfig_init();
+#if defined TIZEN_EXT
+       __connman_rtnl_init(GIO_SOCKET_RETRY_COUNT);
+#else /* TIZEN_EXT */
        __connman_rtnl_init();
+#endif /* TIZEN_EXT */
        __connman_task_init();
        __connman_proxy_init();
        __connman_detect_init();