#ifndef __WIFI_DIRECT_UTIL_H__
#define __WIFI_DIRECT_UTIL_H__
-#define TETHERING_WIFI_DIRECT_FEATURE "http://tizen.org/feature/network.tethering.wifi.direct"
#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
#define MACSTR "%02x:%02x:%02x:%02x:%02x:%02x"
#define IP2STR(a) (a)[0], (a)[1], (a)[2], (a)[3]
void wfd_util_unset_dev_name_notification();
int wfd_util_set_country();
+void wfd_util_check_features();
int wfd_util_check_wifi_state();
-int wfd_util_check_p2p_hotspot_state(void);
+int wfd_util_check_p2p_hotspot_state();
int wfd_util_check_mobile_ap_state();
int wfd_util_wifi_direct_activatable();
#if 0
#include <netlink/socket.h>
#include <netlink/route/neighbour.h>
+#define ASP_FEATURE "http://tizen.org/feature/network.asp"
+#define WIFI_DIRECT_DISPLAY_FEATURE "http://tizen.org/feature/network.wifi.direct.display"
+#define WIFI_DIRECT_SERVICE_DISCOVERY_FEATURE "http://tizen.org/feature/network.wifi.direct.service_discovery"
+#define TETHERING_WIFI_FEATURE "http://tizen.org/feature/network.tethering.wifi"
+#define TETHERING_WIFI_DIRECT_FEATURE "http://tizen.org/feature/network.tethering.wifi.direct"
+
#define TIZEN_P2P_GO_IPADDR "192.168.49.1"
#define MAX_SIZE_ERROR_BUFFER 256
{
if (system_info_get_platform_bool(key, feature_supported) < 0) {
WDS_LOGE("system-info failed to get feature supported flag");
- return;
+ *feature_supported = false;
}
+ return;
+}
+
+static bool __is_wifi_direct_display_feature_supported()
+{
+ bool supported;
+
+ __check_feature_supported(WIFI_DIRECT_DISPLAY_FEATURE, &supported);
+
+ return supported;
+}
+
+static bool __is_wifi_direct_service_discovery_feature_supported()
+{
+ bool supported;
+
+ __check_feature_supported(WIFI_DIRECT_SERVICE_DISCOVERY_FEATURE, &supported);
+
+ return supported;
+}
+
+static bool __is_asp_feature_supported()
+{
+ bool supported;
+
+ __check_feature_supported(ASP_FEATURE, &supported);
+
+ return supported;
+}
+
+static bool __is_tethering_wifi_feature_supported()
+{
+ bool supported;
+
+ __check_feature_supported(TETHERING_WIFI_FEATURE, &supported);
+
+ return supported;
+}
+
+static bool __is_tethering_wifi_direct_feature_supported()
+{
+ bool supported;
+
+ __check_feature_supported(TETHERING_WIFI_DIRECT_FEATURE, &supported);
+
+ return supported;
}
-int wfd_util_check_p2p_hotspot_state(void)
+void wfd_util_check_features()
+{
+ __WDS_LOG_FUNC_ENTER__;
+ wfd_manager_s * manager = NULL;
+
+ manager = wfd_get_manager();
+ if (!manager)
+ return;
+
+ manager->is_on_demand_supported = TRUE;
+
+ if (__is_wifi_direct_display_feature_supported())
+ manager->is_wifi_display_supported = TRUE;
+ else
+ manager->is_wifi_display_supported = FALSE;
+
+ if (__is_wifi_direct_service_discovery_feature_supported())
+ manager->is_service_discovery_supported = TRUE;
+ else
+ manager->is_service_discovery_supported = FALSE;
+
+ if (__is_asp_feature_supported())
+ manager->is_asp_supported = TRUE;
+ else
+ manager->is_asp_supported = FALSE;
+
+ if (__is_tethering_wifi_feature_supported())
+ manager->is_tethering_wifi_supported = TRUE;
+ else
+ manager->is_tethering_wifi_supported = FALSE;
+
+ if (__is_tethering_wifi_direct_feature_supported())
+ manager->is_tethering_wifi_direct_supported = TRUE;
+ else
+ manager->is_tethering_wifi_direct_supported = FALSE;
+
+ return;
+
+}
+
+int wfd_util_check_p2p_hotspot_state()
{
__WDS_LOG_FUNC_ENTER__;
int hotspot_state = 0;
int res = 0;
- bool supported = false;
- __check_feature_supported(TETHERING_WIFI_DIRECT_FEATURE, &supported);
- if (!supported) {
- __WDS_LOG_FUNC_EXIT__;
+ wfd_manager_s * manager = wfd_get_manager();
+ if (!manager)
+ return -1;
+
+ if (!manager->is_tethering_wifi_direct_supported)
return -1;
- }
res = vconf_get_int(VCONFKEY_MOBILE_HOTSPOT_MODE, &hotspot_state);
if (res < 0) {