From 1cee3c6e8b9e0382dd4e65fa3c7a6b181db549cd Mon Sep 17 00:00:00 2001 From: Seonah Moon Date: Wed, 14 Feb 2024 11:58:51 +0900 Subject: [PATCH] Check wifi-direct feature Change-Id: Ib8d7bc8e5e321a64cefb9654f0505def593c2773 --- include/tethering_private.h | 2 ++ src/tethering.c | 9 +++++++++ src/tethering_private.c | 2 ++ 3 files changed, 13 insertions(+) diff --git a/include/tethering_private.h b/include/tethering_private.h index b6a36c2..8e8b5aa 100644 --- a/include/tethering_private.h +++ b/include/tethering_private.h @@ -101,12 +101,14 @@ void _tethering_unlock(void); #define TETHERING_BT_FEATURE "http://tizen.org/feature/network.tethering.bluetooth" #define TETHERING_USB_FEATURE "http://tizen.org/feature/network.tethering.usb" #define TETHERING_WIFI_FEATURE "http://tizen.org/feature/network.tethering.wifi" +#define TETHERING_WIFI_DIRECT_FEATURE "http://tizen.org/feature/network.tethering.wifi.direct" typedef enum { TETHERING_SUPPORTED_FEATURE, TETHERING_SUPPORTED_FEATURE_WIFI, TETHERING_SUPPORTED_FEATURE_BT, TETHERING_SUPPORTED_FEATURE_USB, + TETHERING_SUPPORTED_FEATURE_WIFI_DIRECT, TETHERING_SUPPORTED_FEATURE_MAX, } tethering_supported_feature_e; diff --git a/src/tethering.c b/src/tethering.c index 019cc02..c7036cb 100755 --- a/src/tethering.c +++ b/src/tethering.c @@ -1822,6 +1822,7 @@ API int tethering_enable(tethering_h tethering, tethering_type_e type) if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -2152,6 +2153,7 @@ API int tethering_disable(tethering_h tethering, tethering_type_e type) if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -2745,6 +2747,7 @@ API int tethering_foreach_connected_clients(tethering_h tethering, tethering_typ if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -2880,6 +2883,7 @@ API int tethering_set_enabled_cb(tethering_h tethering, tethering_type_e type, t if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -2924,6 +2928,7 @@ API int tethering_unset_enabled_cb(tethering_h tethering, tethering_type_e type) if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -2968,6 +2973,7 @@ API int tethering_set_disabled_cb(tethering_h tethering, tethering_type_e type, if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -3011,6 +3017,7 @@ API int tethering_unset_disabled_cb(tethering_h tethering, tethering_type_e type if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -3055,6 +3062,7 @@ API int tethering_set_connection_state_changed_cb(tethering_h tethering, tetheri if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); @@ -3098,6 +3106,7 @@ API int tethering_unset_connection_state_changed_cb(tethering_h tethering, tethe if (type == TETHERING_TYPE_USB) CHECK_FEATURE_SUPPORTED(TETHERING_USB_FEATURE); else if (type == TETHERING_TYPE_WIFI) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_FEATURE); else if (type == TETHERING_TYPE_BT) CHECK_FEATURE_SUPPORTED(TETHERING_BT_FEATURE); + else if (type == TETHERING_TYPE_P2P) CHECK_FEATURE_SUPPORTED(TETHERING_WIFI_DIRECT_FEATURE); _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER, "parameter(tethering) is NULL\n"); diff --git a/src/tethering_private.c b/src/tethering_private.c index aa81905..22ba828 100755 --- a/src/tethering_private.c +++ b/src/tethering_private.c @@ -76,6 +76,8 @@ int _tethering_check_feature_supported(const char* feature, ...) value = __check_feature_supported(key, TETHERING_SUPPORTED_FEATURE_BT); if ((strcmp(key, TETHERING_USB_FEATURE) == 0)) value = __check_feature_supported(key, TETHERING_SUPPORTED_FEATURE_USB); + if ((strcmp(key, TETHERING_WIFI_DIRECT_FEATURE) == 0)) + value = __check_feature_supported(key, TETHERING_SUPPORTED_FEATURE_WIFI_DIRECT); supported |= value; key = va_arg(list, const char *); -- 2.34.1