Implemented wifi_direct_get_peer_vsie() 25/170125/2 accepted/tizen/unified/20180302.061518 submit/tizen/20180228.035728
authorNishant Chaprana <n.chaprana@samsung.com>
Tue, 13 Feb 2018 11:42:55 +0000 (17:12 +0530)
committerNishant Chaprana <n.chaprana@samsung.com>
Tue, 13 Feb 2018 11:49:47 +0000 (17:19 +0530)
Change-Id: Ida380a49e368ffd5a8d4b95491d1a08a9ea2e9af
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
packaging/capi-network-wifi-direct.spec
src/wifi-direct-client-proxy.c
test/wifi_direct_test.c

index bc7ada1549765c2aaab4b167eefbb414e326ffac..749360298c18a9cea6a245063e0dbb9db9d24527 100644 (file)
@@ -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
index 9c98c2596c7b6593111b296f38b73b651e0d4066..448b887b22ce339bb4487265cc58d9d0f39fb46e 100644 (file)
@@ -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
index f5b5030e7d5fc253a4d745d20fa44e34427e15c6..df1c133988a45a152ba429dba44a59eb6ae4ba4d 100644 (file)
@@ -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;