__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
CMD_GET_VSIE,
CMD_REMOVE_VSIE,
+ CMD_GET_PEER_VSIE,
+
CMD_INVALID = 255,
};
{ CMD_GET_VSIE, "CMD_GET_VSIE" },
{ CMD_REMOVE_VSIE, "CMD_REMOVE_VSIE" },
+ { CMD_GET_PEER_VSIE, "CMD_GET_PEER_VSIE" },
+
{ -1, NULL }, };
struct appdata {
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;