From: Nishant Chaprana Date: Tue, 13 Feb 2018 11:42:55 +0000 (+0530) Subject: Implemented wifi_direct_get_peer_vsie() X-Git-Tag: submit/tizen/20180228.035728^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b9f016ece4e4e24aef5f0ba6165b9864bc6c6b8f;p=platform%2Fcore%2Fapi%2Fwifi-direct.git Implemented wifi_direct_get_peer_vsie() Change-Id: Ida380a49e368ffd5a8d4b95491d1a08a9ea2e9af Signed-off-by: Nishant Chaprana --- diff --git a/packaging/capi-network-wifi-direct.spec b/packaging/capi-network-wifi-direct.spec index bc7ada1..7493602 100644 --- a/packaging/capi-network-wifi-direct.spec +++ b/packaging/capi-network-wifi-direct.spec @@ -3,7 +3,7 @@ Name: capi-network-wifi-direct Summary: Network WiFi-Direct Library -Version: 1.2.91 +Version: 1.2.92 Release: 1 Group: Network & Connectivity/API License: Apache-2.0 diff --git a/src/wifi-direct-client-proxy.c b/src/wifi-direct-client-proxy.c index 9c98c25..448b887 100644 --- a/src/wifi-direct-client-proxy.c +++ b/src/wifi-direct-client-proxy.c @@ -4659,4 +4659,49 @@ int wifi_direct_get_connecting_peer_info( __WDC_LOG_FUNC_END__; return ret; } + +int wifi_direct_get_peer_vsie(char *mac_address, char **vsie) +{ + __WDC_LOG_FUNC_START__; + + CHECK_FEATURE_SUPPORTED(WIFIDIRECT_FEATURE); + + GError* error = NULL; + GVariant *reply = NULL; + GVariant *params = NULL; + const gchar *val = 0; + int ret = WIFI_DIRECT_ERROR_NONE; + + if (g_client_info.is_registered == false) { + WDC_LOGE("Client is NOT registered"); + __WDC_LOG_FUNC_END__; + return WIFI_DIRECT_ERROR_NOT_INITIALIZED; + } + + if (!mac_address || !vsie) { + WDC_LOGE("NULL Param!"); + __WDC_LOG_FUNC_END__; + return WIFI_DIRECT_ERROR_INVALID_PARAMETER; + } + + params = g_variant_new("(s)", mac_address); + + reply = wifi_direct_dbus_method_call_sync(WFD_MANAGER_MANAGE_INTERFACE, + "GetPeerVsie", + params, + &error); + + ret = __net_wifidirect_gerror_to_enum(error); + + if (ret != WIFI_DIRECT_ERROR_NONE) + return ret; + + g_variant_get(reply, "(i&s)", &ret, &val); + *vsie = strdup(val); + g_variant_unref(reply); + + WDC_LOGD("%s() return : [%d]", __func__, ret); + __WDC_LOG_FUNC_END__; + return ret; +} //LCOV_EXCL_STOP diff --git a/test/wifi_direct_test.c b/test/wifi_direct_test.c index f5b5030..df1c133 100644 --- a/test/wifi_direct_test.c +++ b/test/wifi_direct_test.c @@ -179,6 +179,8 @@ enum { CMD_GET_VSIE, CMD_REMOVE_VSIE, + CMD_GET_PEER_VSIE, + CMD_INVALID = 255, }; @@ -299,6 +301,8 @@ menu_str_t g_menu_str[] = { { CMD_GET_VSIE, "CMD_GET_VSIE" }, { CMD_REMOVE_VSIE, "CMD_REMOVE_VSIE" }, + { CMD_GET_PEER_VSIE, "CMD_GET_PEER_VSIE" }, + { -1, NULL }, }; struct appdata { @@ -2592,6 +2596,23 @@ void process_input(const char *input, gpointer user_data) free(vsie); } break; + case CMD_GET_PEER_VSIE: + if (ad != NULL) { + if (select_peer(ad)) { + int i = ad->selected_peer_index; + char *vsie = NULL; + wifi_direct_discovered_peer_info_s* list = ad->peer_list; + + result = wifi_direct_get_peer_vsie(list[i].mac_address, + &vsie); + + printf("wifi_direct_get_peer_vsie() result=[%d] vsie=[%s]\n", result, vsie); + + if (vsie) + free(vsie); + } + } + break; case CMD_FULL_MENU: usage_full(); break;