Add ApSelectionMethod config option
[platform/upstream/connman.git] / src / main.c
index 54f0665..8b0a995 100755 (executable)
@@ -130,6 +130,7 @@ static struct {
        int wifi_roam_min_rssi_2_4GHz;
        int wifi_roam_min_rssi_5GHz;
        int wifi_roam_min_rssi_6GHz;
+       int wifi_ap_selection_method;
 #endif
 } connman_settings  = {
        .bg_scan = true,
@@ -174,6 +175,7 @@ static struct {
        .wifi_roam_min_rssi_2_4GHz = 0,
        .wifi_roam_min_rssi_5GHz = 0,
        .wifi_roam_min_rssi_6GHz = 0,
+       .wifi_ap_selection_method = AP_SELECTION_METHOD_NORMAL,
 #endif
 };
 
@@ -275,6 +277,7 @@ static struct {
 #define CONF_WIFI_ROAM_MIN_RSSI_2_4     "WifiRoamingMinRSSI_2_4GHz"
 #define CONF_WIFI_ROAM_MIN_RSSI_5       "WifiRoamingMinRSSI_5GHz"
 #define CONF_WIFI_ROAM_MIN_RSSI_6       "WifiRoamingMinRSSI_6GHz"
+#define CONF_WIFI_AP_SELECTION_METHOD   "ApSelectionMethod"
 #endif
 
 #if defined TIZEN_EXT
@@ -348,6 +351,7 @@ static const char *supported_options[] = {
        CONF_WIFI_ROAM_MIN_RSSI_2_4,
        CONF_WIFI_ROAM_MIN_RSSI_5,
        CONF_WIFI_ROAM_MIN_RSSI_6,
+       CONF_WIFI_AP_SELECTION_METHOD,
 #endif
        NULL
 };
@@ -799,6 +803,13 @@ static void check_tizen_configuration(GKeyFile *config)
 
        g_clear_error(&error);
 
+       integer = g_key_file_get_integer(config, "General",
+                       CONF_WIFI_AP_SELECTION_METHOD, &error);
+       if (!error)
+               connman_settings.wifi_ap_selection_method = integer;
+
+       g_clear_error(&error);
+
        check_tizen_ins_configuration(config);
 }
 
@@ -1424,6 +1435,9 @@ unsigned int connman_setting_get_uint(const char *key)
 #if defined TIZEN_EXT
 int connman_setting_get_int(const char *key)
 {
+       if (g_str_equal(key, CONF_WIFI_AP_SELECTION_METHOD))
+               return connman_settings.wifi_ap_selection_method;
+
        if (g_str_equal(key, CONF_INS_SIGNAL_LEVEL3_5GHZ))
                return connman_ins_settings.ins_signal_level3_5ghz;