wpa_supplicant(hidl): Implementation of P2p callbacks
Implementation of all the P2P callbacks exposed in
ISupplicantP2pIfaceCallback interface.
Few callbacks are intentionally left out because there are other
callbacks which already provide the necessary info:
1. The various onProvisionDiscovery* callbacks can be inferred from the
onProvisionDiscoveryCompleted callback.
2. onGroupFormationSuccess can be inferred from onGroupStarted callback.
These will be removed from the .hal files.
Bug:34221586
Test: Compiles
Change-Id: I03fb2cb2c5a1579a5357b4f5578e1152f5cb49a5
diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c
index 3fdb36f..f94873d 100644
--- a/wpa_supplicant/notify.c
+++ b/wpa_supplicant/notify.c
@@ -591,19 +591,27 @@
{
/* Notify P2P find has stopped */
wpas_dbus_signal_p2p_find_stopped(wpa_s);
+
+ wpas_hidl_notify_p2p_find_stopped(wpa_s);
}
void wpas_notify_p2p_device_found(struct wpa_supplicant *wpa_s,
- const u8 *dev_addr, int new_device)
+ const u8 *addr, const struct p2p_peer_info *info,
+ const u8* peer_wfd_device_info, u8 peer_wfd_device_info_len,
+ int new_device)
{
if (new_device) {
/* Create the new peer object */
- wpas_dbus_register_peer(wpa_s, dev_addr);
+ wpas_dbus_register_peer(wpa_s, info->p2p_device_addr);
}
/* Notify a new peer has been detected*/
- wpas_dbus_signal_peer_device_found(wpa_s, dev_addr);
+ wpas_dbus_signal_peer_device_found(wpa_s, info->p2p_device_addr);
+
+ wpas_hidl_notify_p2p_device_found(wpa_s, addr, info,
+ peer_wfd_device_info,
+ peer_wfd_device_info_len);
}
@@ -614,6 +622,8 @@
/* Create signal on interface object*/
wpas_dbus_signal_peer_device_lost(wpa_s, dev_addr);
+
+ wpas_hidl_notify_p2p_device_lost(wpa_s, dev_addr);
}
@@ -624,6 +634,8 @@
wpas_dbus_signal_p2p_group_removed(wpa_s, role);
wpas_dbus_unregister_p2p_group(wpa_s, ssid);
+
+ wpas_hidl_notify_p2p_group_removed(wpa_s, ssid, role);
}
@@ -631,6 +643,8 @@
const u8 *src, u16 dev_passwd_id, u8 go_intent)
{
wpas_dbus_signal_p2p_go_neg_req(wpa_s, src, dev_passwd_id, go_intent);
+
+ wpas_hidl_notify_p2p_go_neg_req(wpa_s, src, dev_passwd_id, go_intent);
}
@@ -638,6 +652,8 @@
struct p2p_go_neg_results *res)
{
wpas_dbus_signal_p2p_go_neg_resp(wpa_s, res);
+
+ wpas_hidl_notify_p2p_go_neg_completed(wpa_s, res);
}
@@ -645,6 +661,8 @@
int status, const u8 *bssid)
{
wpas_dbus_signal_p2p_invitation_result(wpa_s, status, bssid);
+
+ wpas_hidl_notify_p2p_invitation_result(wpa_s, status, bssid);
}
@@ -664,6 +682,9 @@
{
wpas_dbus_signal_p2p_sd_response(wpa_s, sa, update_indic,
tlvs, tlvs_len);
+
+ wpas_hidl_notify_p2p_sd_response(wpa_s, sa, update_indic,
+ tlvs, tlvs_len);
}
@@ -689,6 +710,11 @@
wpas_dbus_signal_p2p_provision_discovery(wpa_s, dev_addr, request,
status, config_methods,
generated_pin);
+
+ wpas_hidl_notify_p2p_provision_discovery(wpa_s, dev_addr, request,
+ status, config_methods,
+ generated_pin);
+
}
@@ -700,6 +726,8 @@
wpas_dbus_register_p2p_group(wpa_s, ssid);
wpas_dbus_signal_p2p_group_started(wpa_s, client, persistent, ip);
+
+ wpas_hidl_notify_p2p_group_started(wpa_s, ssid, persistent, client, ip);
}
@@ -708,6 +736,8 @@
{
/* Notify a group formation failed */
wpas_dbus_signal_p2p_group_formation_failure(wpa_s, reason);
+
+ wpas_hidl_notify_p2p_group_formation_failure(wpa_s, reason);
}
@@ -725,6 +755,9 @@
/* Notify a P2P Invitation Request */
wpas_dbus_signal_p2p_invitation_received(wpa_s, sa, go_dev_addr, bssid,
id, op_freq);
+
+ wpas_hidl_notify_p2p_invitation_received(wpa_s, sa, go_dev_addr, bssid,
+ id, op_freq);
}
#endif /* CONFIG_P2P */
@@ -747,6 +780,8 @@
/* Notify listeners a new station has been authorized */
wpas_dbus_signal_sta_authorized(wpa_s, sta);
+
+ wpas_hidl_notify_ap_sta_authorized(wpa_s, sta, p2p_dev_addr);
}
@@ -765,6 +800,8 @@
/* Notify listeners a station has been deauthorized */
wpas_dbus_signal_sta_deauthorized(wpa_s, sta);
+
+ wpas_hidl_notify_ap_sta_deauthorized(wpa_s, sta, p2p_dev_addr);
}