Replace HAL interface with hal-api-wifi
[platform/core/connectivity/net-config.git] / src / utils / util.c
index a034074..bf7c4bc 100755 (executable)
@@ -54,6 +54,8 @@
 #define TELEPHONY_PLUGIN_FILEPATH      "/usr/lib/net-config-plugin-telephony.so"
 #define STC_PLUGIN_FILEPATH            "/usr/lib/net-config-plugin-stc.so"
 #define BATTERY_PLUGIN_FILEPATH            "/usr/lib/net-config-plugin-battery.so"
+#define CONNMAN_MAINFILE                       "/etc/connman/main.conf"
+#define CONNMAN_WIFI_DEF_IFNAME                "DefaultWifiInterface"
 
 static gboolean netconfig_device_picker_test = FALSE;
 static int mdnsd_ref_count = 0;
@@ -1388,6 +1390,19 @@ char* netconfig_get_env(const char *key)
        return value;
 }
 
+void netconfig_set_mac_address_to_vconf(const char *def_mac)
+{
+       int mac_len = 0;
+
+       mac_len = strlen(def_mac);
+       if (mac_len < 17) {
+               ERR("def_mac is empty");
+               return;
+       }
+
+       netconfig_set_vconf_str(VCONFKEY_WIFI_BSSID_ADDRESS, def_mac, TRUE);
+}
+
 void netconfig_set_mac_address_from_file(void)
 {
        FILE *file = NULL;
@@ -1462,6 +1477,39 @@ char *netconfig_get_mac_address_from_file(const char *ifname)
        return g_strdup(mac_str);
 }
 
+char *netconfig_get_default_ifname_from_file(void)
+{
+       GKeyFile *keyfile = NULL;
+
+       keyfile = netconfig_keyfile_load(CONNMAN_MAINFILE);
+       if (keyfile == NULL) {
+               ERR("keyfile[%s] is NULL", CONNMAN_MAINFILE);
+               return NULL;
+       }
+
+       char *str = g_key_file_get_string(keyfile, "General",
+                       CONNMAN_WIFI_DEF_IFNAME, NULL);
+       g_key_file_free(keyfile);
+
+       if (!str)
+               return NULL;
+
+       if (*str == '\0') {
+               g_free(str);
+               return NULL;
+       }
+
+       g_strchomp(str);
+
+       if (strlen(str) >= IFNAMSIZ) {
+               g_free(str);
+               return NULL;
+       }
+
+       DBG("ifname[%s]", str);
+       return str;
+}
+
 int netconfig_freq_to_channel(int freq)
 {
        if (freq < 2412 || freq > 5825 ||