wpa_supplicant(hidl): Fix compilation failures
Changes:
1. libhidl uses c++14 bits, so remove the flag from Android.mk.
2. libhidl now supports hidl_array to/from std::array conversions. So,
use that.
3. libhidl does not expose the DeathRecipient class anymore. So, turn it
off untill the replacement is exposed.
Bug: 33397652
Test: Compiles after turning on CONFIG_CTRL_IFACE_HIDL=y.
Change-Id: Iedab05fc1b9cbb04cad06eb9f7a9e424d07b745e
diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk
index 31f017b..b778607 100644
--- a/wpa_supplicant/Android.mk
+++ b/wpa_supplicant/Android.mk
@@ -50,7 +50,7 @@
endif
# C++ flags for hidl interface
-L_CPPFLAGS := -std=c++11 -Wall -Werror
+L_CPPFLAGS := -Wall -Werror
# TODO: Remove these allowed warnings later.
L_CPPFLAGS += -Wno-unused-variable -Wno-unused-parameter
L_CPPFLAGS += -Wno-unused-private-field
diff --git a/wpa_supplicant/hidl/hidl_manager.h b/wpa_supplicant/hidl/hidl_manager.h
index 0678b10..5f1c7b6 100644
--- a/wpa_supplicant/hidl/hidl_manager.h
+++ b/wpa_supplicant/hidl/hidl_manager.h
@@ -191,6 +191,7 @@
std::vector<android::sp<ISupplicantStaNetworkCallback>>>
sta_network_callbacks_map_;
+#if 0 // TODO(b/31632518): HIDL object death notifications.
/**
* Helper class used to deregister the callback object reference from
* our callback list on the death of the hidl object.
@@ -222,6 +223,7 @@
const std::function<void(const android::sp<CallbackType> &)>
on_hidl_died_;
};
+#endif
};
// The hidl interface uses some values which are the same as internal ones to
diff --git a/wpa_supplicant/hidl/p2p_iface.cpp b/wpa_supplicant/hidl/p2p_iface.cpp
index 47f3cc5..9c0b3f4 100644
--- a/wpa_supplicant/hidl/p2p_iface.cpp
+++ b/wpa_supplicant/hidl/p2p_iface.cpp
@@ -196,8 +196,8 @@
{
return validateAndCall(
this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
- &P2pIface::inviteInternal, _hidl_cb, go_device_address,
- peer_address);
+ &P2pIface::inviteInternal, _hidl_cb, group_ifname,
+ go_device_address, peer_address);
}
Return<void> P2pIface::reinvoke(
@@ -296,8 +296,8 @@
{
return validateAndCall(
this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
- &P2pIface::requestServiceDiscoveryInternal, _hidl_cb, version,
- peer_address, query);
+ &P2pIface::requestServiceDiscoveryInternal, _hidl_cb, peer_address,
+ query);
}
Return<void> P2pIface::cancelServiceDiscovery(
@@ -435,9 +435,9 @@
}
std::pair<SupplicantStatus, std::vector<uint8_t>> P2pIface::connectInternal(
- const hidl_array<uint8_t, 6>& peer_address,
+ const std::array<uint8_t, 6>& peer_address,
ISupplicantP2pIface::WpsProvisionMethod provision_method,
- const hidl_vec<uint8_t>& pre_selected_pin, bool join_existing_group,
+ const std::vector<uint8_t>& pre_selected_pin, bool join_existing_group,
bool persistent, uint32_t go_intent)
{
// TODO: Add implementation.
@@ -451,7 +451,7 @@
}
SupplicantStatus P2pIface::provisionDiscoveryInternal(
- const hidl_array<uint8_t, 6>& peer_address,
+ const std::array<uint8_t, 6>& peer_address,
ISupplicantP2pIface::WpsProvisionMethod provision_method)
{
// TODO: Add implementation.
@@ -472,7 +472,7 @@
}
SupplicantStatus P2pIface::rejectInternal(
- const hidl_array<uint8_t, 6>& peer_address)
+ const std::array<uint8_t, 6>& peer_address)
{
// TODO: Add implementation.
return {SupplicantStatusCode::SUCCESS, ""};
@@ -480,15 +480,15 @@
SupplicantStatus P2pIface::inviteInternal(
const hidl_string& group_ifname,
- const hidl_array<uint8_t, 6>& go_device_address,
- const hidl_array<uint8_t, 6>& peer_address)
+ const std::array<uint8_t, 6>& go_device_address,
+ const std::array<uint8_t, 6>& peer_address)
{
// TODO: Add implementation.
return {SupplicantStatusCode::SUCCESS, ""};
}
SupplicantStatus P2pIface::reinvokeInternal(
- uint32_t persistent_network_id, const hidl_array<uint8_t, 6>& peer_address)
+ uint32_t persistent_network_id, const std::array<uint8_t, 6>& peer_address)
{
// TODO: Add implementation.
return {SupplicantStatusCode::SUCCESS, ""};
@@ -509,28 +509,28 @@
}
std::pair<SupplicantStatus, std::vector<uint8_t>> P2pIface::getSsidInternal(
- const hidl_array<uint8_t, 6>& peer_address)
+ const std::array<uint8_t, 6>& peer_address)
{
// TODO: Add implementation.
return {{SupplicantStatusCode::SUCCESS, ""}, {}};
}
std::pair<SupplicantStatus, uint32_t> P2pIface::getGroupCapabilityInternal(
- const hidl_array<uint8_t, 6>& peer_address)
+ const std::array<uint8_t, 6>& peer_address)
{
// TODO: Add implementation.
return {{SupplicantStatusCode::SUCCESS, ""}, 0};
}
SupplicantStatus P2pIface::addBonjourServiceInternal(
- const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response)
+ const std::vector<uint8_t>& query, const std::vector<uint8_t>& response)
{
// TODO: Add implementation.
return {SupplicantStatusCode::SUCCESS, ""};
}
SupplicantStatus P2pIface::removeBonjourServiceInternal(
- const hidl_vec<uint8_t>& query)
+ const std::vector<uint8_t>& query)
{
// TODO: Add implementation.
return {SupplicantStatusCode::SUCCESS, ""};
@@ -558,7 +558,8 @@
}
std::pair<SupplicantStatus, uint64_t> P2pIface::requestServiceDiscoveryInternal(
- const hidl_array<uint8_t, 6>& peer_address, const hidl_vec<uint8_t>& query)
+ const std::array<uint8_t, 6>& peer_address,
+ const std::vector<uint8_t>& query)
{
// TODO: Add implementation.
return {{SupplicantStatusCode::SUCCESS, ""}, 0};
diff --git a/wpa_supplicant/hidl/p2p_iface.h b/wpa_supplicant/hidl/p2p_iface.h
index f4992c3..d340b08 100644
--- a/wpa_supplicant/hidl/p2p_iface.h
+++ b/wpa_supplicant/hidl/p2p_iface.h
@@ -154,39 +154,40 @@
SupplicantStatus stopFindInternal();
SupplicantStatus flushInternal();
std::pair<SupplicantStatus, std::vector<uint8_t>> connectInternal(
- const hidl_array<uint8_t, 6>& peer_address,
+ const std::array<uint8_t, 6>& peer_address,
ISupplicantP2pIface::WpsProvisionMethod provision_method,
- const hidl_vec<uint8_t>& pre_selected_pin, bool join_existing_group,
- bool persistent, uint32_t go_intent);
+ const std::vector<uint8_t>& pre_selected_pin,
+ bool join_existing_group, bool persistent, uint32_t go_intent);
SupplicantStatus cancelConnectInternal();
SupplicantStatus provisionDiscoveryInternal(
- const hidl_array<uint8_t, 6>& peer_address,
+ const std::array<uint8_t, 6>& peer_address,
ISupplicantP2pIface::WpsProvisionMethod provision_method);
SupplicantStatus addGroupInternal(
bool persistent, uint32_t persistent_network_id);
SupplicantStatus removeGroupInternal(const hidl_string& group_ifname);
SupplicantStatus rejectInternal(
- const hidl_array<uint8_t, 6>& peer_address);
+ const std::array<uint8_t, 6>& peer_address);
SupplicantStatus inviteInternal(
const hidl_string& group_ifname,
- const hidl_array<uint8_t, 6>& go_device_address,
- const hidl_array<uint8_t, 6>& peer_address);
+ const std::array<uint8_t, 6>& go_device_address,
+ const std::array<uint8_t, 6>& peer_address);
SupplicantStatus reinvokeInternal(
uint32_t persistent_network_id,
- const hidl_array<uint8_t, 6>& peer_address);
+ const std::array<uint8_t, 6>& peer_address);
SupplicantStatus configureExtListenInternal(
bool enable, uint32_t period_in_millis,
uint32_t interval_in_millis);
SupplicantStatus setListenChannelInternal(
uint32_t channel, uint32_t operating_class);
std::pair<SupplicantStatus, std::vector<uint8_t>> getSsidInternal(
- const hidl_array<uint8_t, 6>& peer_address);
+ const std::array<uint8_t, 6>& peer_address);
std::pair<SupplicantStatus, uint32_t> getGroupCapabilityInternal(
- const hidl_array<uint8_t, 6>& peer_address);
+ const std::array<uint8_t, 6>& peer_address);
SupplicantStatus addBonjourServiceInternal(
- const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response);
+ const std::vector<uint8_t>& query,
+ const std::vector<uint8_t>& response);
SupplicantStatus removeBonjourServiceInternal(
- const hidl_vec<uint8_t>& query);
+ const std::vector<uint8_t>& query);
SupplicantStatus addUpnpServiceInternal(
uint32_t version, const hidl_string& service_name);
SupplicantStatus removeUpnpServiceInternal(
@@ -194,8 +195,8 @@
SupplicantStatus flushServicesInternal(
uint32_t version, const hidl_string& service_name);
std::pair<SupplicantStatus, uint64_t> requestServiceDiscoveryInternal(
- const hidl_array<uint8_t, 6>& peer_address,
- const hidl_vec<uint8_t>& query);
+ const std::array<uint8_t, 6>& peer_address,
+ const std::vector<uint8_t>& query);
SupplicantStatus cancelServiceDiscoveryInternal(uint64_t identifier);
struct wpa_supplicant* retrieveIfacePtr();