#include <stdlib.h>
#include <unistd.h>
#include <glib.h>
+#include <system_info.h>
#include "net_wifi_private.h"
static __thread wifi_rssi_level_changed_cb rssi_level_changed_cb = NULL;
static __thread void *rssi_level_changed_user_data = NULL;
+static int tv_profile = -1; // Unknown
//LCOV_EXCL_START
static gboolean __rssi_level_changed_cb_idle(gpointer data)
return WIFI_ERROR_INVALID_PARAMETER;
}
-#if defined TIZEN_TV
- FILE *fp = NULL;
- char buf[WIFI_MAC_ADD_LENGTH + 1];
- if (0 == access(WIFI_MAC_ADD_PATH, F_OK))
- fp = fopen(WIFI_MAC_ADD_PATH, "r");
-
- if (fp == NULL) {
- WIFI_LOG(WIFI_ERROR, "Failed to open file" //LCOV_EXCL_LINE
- " %s\n", WIFI_MAC_ADD_PATH);
- return WIFI_ERROR_OPERATION_FAILED;
- }
-
- if (fgets(buf, sizeof(buf), fp) == NULL) {
- WIFI_LOG(WIFI_ERROR, "Failed to get MAC"
- " info from %s\n", WIFI_MAC_ADD_PATH); //LCOV_EXCL_LINE
- fclose(fp); //LCOV_EXCL_LINE
- return WIFI_ERROR_OPERATION_FAILED;
- }
-
- WIFI_LOG(WIFI_INFO, "%s : %s\n", WIFI_MAC_ADD_PATH, buf);
-
- *mac_address = (char *)g_try_malloc0(WIFI_MAC_ADD_LENGTH + 1);
- if (*mac_address == NULL) {
- WIFI_LOG(WIFI_ERROR, "malloc() failed"); //LCOV_EXCL_LINE
- fclose(fp); //LCOV_EXCL_LINE
- return WIFI_ERROR_OUT_OF_MEMORY;
- }
- g_strlcpy(*mac_address, buf, WIFI_MAC_ADD_LENGTH + 1);
- fclose(fp);
-#else
- *mac_address = vconf_get_str(VCONFKEY_WIFI_BSSID_ADDRESS);
-
- if (*mac_address == NULL || strlen(*mac_address) == 0) {
- WIFI_LOG(WIFI_ERROR, "Failed to get vconf" //LCOV_EXCL_LINE
- " from %s", VCONFKEY_WIFI_BSSID_ADDRESS);
- return WIFI_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+ if (__builtin_expect(tv_profile == -1, 0)) {
+ char *profileName;
+ system_info_get_platform_string("http://tizen.org/feature/profile", &profileName);
+ if (*profileName == 't' || *profileName == 'T')
+ tv_profile = 1;
+ else
+ tv_profile = 0;
+ free(profileName);
+ }
+ if (tv_profile == 1) {
+ FILE *fp = NULL;
+ char buf[WIFI_MAC_ADD_LENGTH + 1];
+ if (0 == access(WIFI_MAC_ADD_PATH, F_OK))
+ fp = fopen(WIFI_MAC_ADD_PATH, "r");
+
+ if (fp == NULL) {
+ WIFI_LOG(WIFI_ERROR, "Failed to open file" //LCOV_EXCL_LINE
+ " %s\n", WIFI_MAC_ADD_PATH);
+ return WIFI_ERROR_OPERATION_FAILED;
+ }
+
+ if (fgets(buf, sizeof(buf), fp) == NULL) {
+ WIFI_LOG(WIFI_ERROR, "Failed to get MAC"
+ " info from %s\n", WIFI_MAC_ADD_PATH); //LCOV_EXCL_LINE
+ fclose(fp); //LCOV_EXCL_LINE
+ return WIFI_ERROR_OPERATION_FAILED;
+ }
+
+ WIFI_LOG(WIFI_INFO, "%s : %s\n", WIFI_MAC_ADD_PATH, buf);
+
+ *mac_address = (char *)g_try_malloc0(WIFI_MAC_ADD_LENGTH + 1);
+ if (*mac_address == NULL) {
+ WIFI_LOG(WIFI_ERROR, "malloc() failed"); //LCOV_EXCL_LINE
+ fclose(fp); //LCOV_EXCL_LINE
+ return WIFI_ERROR_OUT_OF_MEMORY;
+ }
+ g_strlcpy(*mac_address, buf, WIFI_MAC_ADD_LENGTH + 1);
+ fclose(fp);
+ } else {
+ *mac_address = vconf_get_str(VCONFKEY_WIFI_BSSID_ADDRESS);
+
+ if (*mac_address == NULL || strlen(*mac_address) == 0) {
+ WIFI_LOG(WIFI_ERROR, "Failed to get vconf" //LCOV_EXCL_LINE
+ " from %s", VCONFKEY_WIFI_BSSID_ADDRESS);
+ return WIFI_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE
+ }
}
-#endif
return WIFI_ERROR_NONE;
}