wpa_supplicant(hidl): Add P2P stub methods
Add stubs for all the P2P methods.
Bug: 31497295
Test: Compiles
Change-Id: Idba0ad351901e6c86fe42dcaa6a4a565073243b1
diff --git a/wpa_supplicant/hidl/p2p_iface.cpp b/wpa_supplicant/hidl/p2p_iface.cpp
index e735684..47f3cc5 100644
--- a/wpa_supplicant/hidl/p2p_iface.cpp
+++ b/wpa_supplicant/hidl/p2p_iface.cpp
@@ -19,7 +19,7 @@
namespace implementation {
using hidl_return_util::validateAndCall;
-P2pIface::P2pIface(struct wpa_global *wpa_global, const char ifname[])
+P2pIface::P2pIface(struct wpa_global* wpa_global, const char ifname[])
: wpa_global_(wpa_global), ifname_(ifname), is_valid_(true)
{
}
@@ -74,7 +74,7 @@
}
Return<void> P2pIface::registerCallback(
- const sp<ISupplicantP2pIfaceCallback> &callback,
+ const sp<ISupplicantP2pIfaceCallback>& callback,
registerCallback_cb _hidl_cb)
{
return validateAndCall(
@@ -82,6 +82,232 @@
&P2pIface::registerCallbackInternal, _hidl_cb, callback);
}
+Return<void> P2pIface::getDeviceAddress(getDeviceAddress_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::getDeviceAddressInternal, _hidl_cb);
+}
+
+Return<void> P2pIface::setSsidPostfix(
+ const hidl_string& postfix, setSsidPostfix_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::setSsidPostfixInternal, _hidl_cb, postfix);
+}
+
+Return<void> P2pIface::setGroupIdle(
+ uint32_t timeout_in_sec, setGroupIdle_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::setGroupIdleInternal, _hidl_cb, timeout_in_sec);
+}
+
+Return<void> P2pIface::setPowerSave(bool enable, setPowerSave_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::setPowerSaveInternal, _hidl_cb, enable);
+}
+
+Return<void> P2pIface::find(uint32_t timeout_in_sec, find_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::findInternal, _hidl_cb, timeout_in_sec);
+}
+
+Return<void> P2pIface::stopFind(stopFind_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::stopFindInternal, _hidl_cb);
+}
+
+Return<void> P2pIface::flush(flush_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::flushInternal, _hidl_cb);
+}
+
+Return<void> P2pIface::connect(
+ const hidl_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, connect_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::connectInternal, _hidl_cb, peer_address,
+ provision_method, pre_selected_pin, join_existing_group, persistent,
+ go_intent);
+}
+
+Return<void> P2pIface::cancelConnect(cancelConnect_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::cancelConnectInternal, _hidl_cb);
+}
+
+Return<void> P2pIface::provisionDiscovery(
+ const hidl_array<uint8_t, 6>& peer_address,
+ ISupplicantP2pIface::WpsProvisionMethod provision_method,
+ provisionDiscovery_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::provisionDiscoveryInternal, _hidl_cb, peer_address,
+ provision_method);
+}
+
+Return<void> P2pIface::addGroup(
+ bool persistent, uint32_t persistent_network_id, addGroup_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::addGroupInternal, _hidl_cb, persistent,
+ persistent_network_id);
+}
+
+Return<void> P2pIface::removeGroup(
+ const hidl_string& group_ifname, removeGroup_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::removeGroupInternal, _hidl_cb, group_ifname);
+}
+
+Return<void> P2pIface::reject(
+ const hidl_array<uint8_t, 6>& peer_address, reject_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::rejectInternal, _hidl_cb, peer_address);
+}
+
+Return<void> P2pIface::invite(
+ const hidl_string& group_ifname,
+ const hidl_array<uint8_t, 6>& go_device_address,
+ const hidl_array<uint8_t, 6>& peer_address, invite_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::inviteInternal, _hidl_cb, go_device_address,
+ peer_address);
+}
+
+Return<void> P2pIface::reinvoke(
+ uint32_t persistent_network_id, const hidl_array<uint8_t, 6>& peer_address,
+ reinvoke_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::reinvokeInternal, _hidl_cb, persistent_network_id,
+ peer_address);
+}
+
+Return<void> P2pIface::configureExtListen(
+ bool enable, uint32_t period_in_millis, uint32_t interval_in_millis,
+ configureExtListen_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::configureExtListenInternal, _hidl_cb, enable,
+ period_in_millis, interval_in_millis);
+}
+
+Return<void> P2pIface::setListenChannel(
+ uint32_t channel, uint32_t operating_class, setListenChannel_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::setListenChannelInternal, _hidl_cb, channel,
+ operating_class);
+}
+
+Return<void> P2pIface::getSsid(
+ const hidl_array<uint8_t, 6>& peer_address, getSsid_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::getSsidInternal, _hidl_cb, peer_address);
+}
+
+Return<void> P2pIface::getGroupCapability(
+ const hidl_array<uint8_t, 6>& peer_address, getGroupCapability_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::getGroupCapabilityInternal, _hidl_cb, peer_address);
+}
+
+Return<void> P2pIface::addBonjourService(
+ const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response,
+ addBonjourService_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::addBonjourServiceInternal, _hidl_cb, query, response);
+}
+
+Return<void> P2pIface::removeBonjourService(
+ const hidl_vec<uint8_t>& query, removeBonjourService_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::removeBonjourServiceInternal, _hidl_cb, query);
+}
+
+Return<void> P2pIface::addUpnpService(
+ uint32_t version, const hidl_string& service_name,
+ addUpnpService_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::addUpnpServiceInternal, _hidl_cb, version, service_name);
+}
+
+Return<void> P2pIface::removeUpnpService(
+ uint32_t version, const hidl_string& service_name,
+ removeUpnpService_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::removeUpnpServiceInternal, _hidl_cb, version,
+ service_name);
+}
+
+Return<void> P2pIface::flushServices(
+ uint32_t version, const hidl_string& service_name,
+ flushServices_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::flushServicesInternal, _hidl_cb, version, service_name);
+}
+
+Return<void> P2pIface::requestServiceDiscovery(
+ const hidl_array<uint8_t, 6>& peer_address, const hidl_vec<uint8_t>& query,
+ requestServiceDiscovery_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::requestServiceDiscoveryInternal, _hidl_cb, version,
+ peer_address, query);
+}
+
+Return<void> P2pIface::cancelServiceDiscovery(
+ uint64_t identifier, cancelServiceDiscovery_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &P2pIface::cancelServiceDiscoveryInternal, _hidl_cb, identifier);
+}
+
std::pair<SupplicantStatus, std::string> P2pIface::getNameInternal()
{
return {{SupplicantStatusCode::SUCCESS, ""}, ifname_};
@@ -96,12 +322,12 @@
P2pIface::addNetworkInternal()
{
android::sp<ISupplicantP2pNetwork> network;
- struct wpa_supplicant *wpa_s = retrieveIfacePtr();
- struct wpa_ssid *ssid = wpa_supplicant_add_network(wpa_s);
+ struct wpa_supplicant* wpa_s = retrieveIfacePtr();
+ struct wpa_ssid* ssid = wpa_supplicant_add_network(wpa_s);
if (!ssid) {
return {{SupplicantStatusCode::FAILURE_UNKNOWN, ""}, network};
}
- HidlManager *hidl_manager = HidlManager::getInstance();
+ HidlManager* hidl_manager = HidlManager::getInstance();
if (!hidl_manager ||
hidl_manager->getP2pNetworkHidlObjectByIfnameAndNetworkId(
wpa_s->ifname, ssid->id, &network)) {
@@ -112,7 +338,7 @@
SupplicantStatus P2pIface::removeNetworkInternal(SupplicantNetworkId id)
{
- struct wpa_supplicant *wpa_s = retrieveIfacePtr();
+ struct wpa_supplicant* wpa_s = retrieveIfacePtr();
int result = wpa_supplicant_remove_network(wpa_s, id);
if (result == -1) {
return {SupplicantStatusCode::FAILURE_NETWORK_UNKNOWN, ""};
@@ -127,13 +353,13 @@
P2pIface::getNetworkInternal(SupplicantNetworkId id)
{
android::sp<ISupplicantP2pNetwork> network;
- struct wpa_supplicant *wpa_s = retrieveIfacePtr();
- struct wpa_ssid *ssid = wpa_config_get_network(wpa_s->conf, id);
+ struct wpa_supplicant* wpa_s = retrieveIfacePtr();
+ struct wpa_ssid* ssid = wpa_config_get_network(wpa_s->conf, id);
if (!ssid) {
return {{SupplicantStatusCode::FAILURE_NETWORK_UNKNOWN, ""},
network};
}
- HidlManager *hidl_manager = HidlManager::getInstance();
+ HidlManager* hidl_manager = HidlManager::getInstance();
if (!hidl_manager ||
hidl_manager->getP2pNetworkHidlObjectByIfnameAndNetworkId(
wpa_s->ifname, ssid->id, &network)) {
@@ -146,8 +372,8 @@
P2pIface::listNetworksInternal()
{
std::vector<SupplicantNetworkId> network_ids;
- struct wpa_supplicant *wpa_s = retrieveIfacePtr();
- for (struct wpa_ssid *wpa_ssid = wpa_s->conf->ssid; wpa_ssid;
+ struct wpa_supplicant* wpa_s = retrieveIfacePtr();
+ for (struct wpa_ssid* wpa_ssid = wpa_s->conf->ssid; wpa_ssid;
wpa_ssid = wpa_ssid->next) {
network_ids.emplace_back(wpa_ssid->id);
}
@@ -155,9 +381,9 @@
}
SupplicantStatus P2pIface::registerCallbackInternal(
- const sp<ISupplicantP2pIfaceCallback> &callback)
+ const sp<ISupplicantP2pIfaceCallback>& callback)
{
- HidlManager *hidl_manager = HidlManager::getInstance();
+ HidlManager* hidl_manager = HidlManager::getInstance();
if (!hidl_manager ||
hidl_manager->addP2pIfaceCallbackHidlObject(ifname_, callback)) {
return {SupplicantStatusCode::FAILURE_UNKNOWN, ""};
@@ -165,16 +391,195 @@
return {SupplicantStatusCode::SUCCESS, ""};
}
+std::pair<SupplicantStatus, std::array<uint8_t, 6>>
+P2pIface::getDeviceAddressInternal()
+{
+ // TODO: Add implementation.
+ return {{SupplicantStatusCode::SUCCESS, ""}, {}};
+}
+
+SupplicantStatus P2pIface::setSsidPostfixInternal(const hidl_string& postfix)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::setGroupIdleInternal(uint32_t timeout_in_sec)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::setPowerSaveInternal(bool enable)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::findInternal(uint32_t timeout_in_sec)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::stopFindInternal()
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::flushInternal()
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+std::pair<SupplicantStatus, std::vector<uint8_t>> P2pIface::connectInternal(
+ const hidl_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)
+{
+ // TODO: Add implementation.
+ return {{SupplicantStatusCode::SUCCESS, ""}, {}};
+}
+
+SupplicantStatus P2pIface::cancelConnectInternal()
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::provisionDiscoveryInternal(
+ const hidl_array<uint8_t, 6>& peer_address,
+ ISupplicantP2pIface::WpsProvisionMethod provision_method)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::addGroupInternal(
+ bool persistent, uint32_t persistent_network_id)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::removeGroupInternal(const hidl_string& group_ifname)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::rejectInternal(
+ const hidl_array<uint8_t, 6>& peer_address)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+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)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::reinvokeInternal(
+ uint32_t persistent_network_id, const hidl_array<uint8_t, 6>& peer_address)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::configureExtListenInternal(
+ bool enable, uint32_t period_in_millis, uint32_t interval_in_millis)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::setListenChannelInternal(
+ uint32_t channel, uint32_t operating_class)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+std::pair<SupplicantStatus, std::vector<uint8_t>> P2pIface::getSsidInternal(
+ const hidl_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)
+{
+ // TODO: Add implementation.
+ return {{SupplicantStatusCode::SUCCESS, ""}, 0};
+}
+
+SupplicantStatus P2pIface::addBonjourServiceInternal(
+ const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::removeBonjourServiceInternal(
+ const hidl_vec<uint8_t>& query)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::addUpnpServiceInternal(
+ uint32_t version, const hidl_string& service_name)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::removeUpnpServiceInternal(
+ uint32_t version, const hidl_string& service_name)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+SupplicantStatus P2pIface::flushServicesInternal(
+ uint32_t version, const hidl_string& service_name)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
+std::pair<SupplicantStatus, uint64_t> P2pIface::requestServiceDiscoveryInternal(
+ const hidl_array<uint8_t, 6>& peer_address, const hidl_vec<uint8_t>& query)
+{
+ // TODO: Add implementation.
+ return {{SupplicantStatusCode::SUCCESS, ""}, 0};
+}
+
+SupplicantStatus P2pIface::cancelServiceDiscoveryInternal(uint64_t identifier)
+{
+ // TODO: Add implementation.
+ return {SupplicantStatusCode::SUCCESS, ""};
+}
+
/**
* Retrieve the underlying |wpa_supplicant| struct
* pointer for this iface.
* If the underlying iface is removed, then all RPC method calls on this object
* will return failure.
*/
-wpa_supplicant *P2pIface::retrieveIfacePtr()
+wpa_supplicant* P2pIface::retrieveIfacePtr()
{
return wpa_supplicant_get_iface(
- (struct wpa_global *)wpa_global_, ifname_.c_str());
+ (struct wpa_global*)wpa_global_, ifname_.c_str());
}
} // namespace implementation
diff --git a/wpa_supplicant/hidl/p2p_iface.h b/wpa_supplicant/hidl/p2p_iface.h
index 6459f29..f4992c3 100644
--- a/wpa_supplicant/hidl/p2p_iface.h
+++ b/wpa_supplicant/hidl/p2p_iface.h
@@ -10,6 +10,9 @@
#ifndef WPA_SUPPLICANT_HIDL_P2P_IFACE_H
#define WPA_SUPPLICANT_HIDL_P2P_IFACE_H
+#include <array>
+#include <vector>
+
#include <android-base/macros.h>
#include <android/hardware/wifi/supplicant/1.0/ISupplicantP2pIface.h>
@@ -58,6 +61,76 @@
Return<void> registerCallback(
const sp<ISupplicantP2pIfaceCallback>& callback,
registerCallback_cb _hidl_cb) override;
+ Return<void> getDeviceAddress(getDeviceAddress_cb _hidl_cb) override;
+ Return<void> setSsidPostfix(
+ const hidl_string& postfix, setSsidPostfix_cb _hidl_cb) override;
+ Return<void> setGroupIdle(
+ uint32_t timeout_in_sec, setGroupIdle_cb _hidl_cb) override;
+ Return<void> setPowerSave(
+ bool enable, setPowerSave_cb _hidl_cb) override;
+ Return<void> find(uint32_t timeout_in_sec, find_cb _hidl_cb) override;
+ Return<void> stopFind(stopFind_cb _hidl_cb) override;
+ Return<void> flush(flush_cb _hidl_cb) override;
+ Return<void> connect(
+ const hidl_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, connect_cb _hidl_cb) override;
+ Return<void> cancelConnect(cancelConnect_cb _hidl_cb) override;
+ Return<void> provisionDiscovery(
+ const hidl_array<uint8_t, 6>& peer_address,
+ ISupplicantP2pIface::WpsProvisionMethod provision_method,
+ provisionDiscovery_cb _hidl_cb) override;
+ Return<void> addGroup(
+ bool persistent, uint32_t persistent_network_id,
+ addGroup_cb _hidl_cb) override;
+ Return<void> removeGroup(
+ const hidl_string& group_ifname, removeGroup_cb _hidl_cb) override;
+ Return<void> reject(
+ const hidl_array<uint8_t, 6>& peer_address,
+ reject_cb _hidl_cb) override;
+ Return<void> invite(
+ const hidl_string& group_ifname,
+ const hidl_array<uint8_t, 6>& go_device_address,
+ const hidl_array<uint8_t, 6>& peer_address,
+ invite_cb _hidl_cb) override;
+ Return<void> reinvoke(
+ uint32_t persistent_network_id,
+ const hidl_array<uint8_t, 6>& peer_address,
+ reinvoke_cb _hidl_cb) override;
+ Return<void> configureExtListen(
+ bool enable, uint32_t period_in_millis, uint32_t interval_in_millis,
+ configureExtListen_cb _hidl_cb) override;
+ Return<void> setListenChannel(
+ uint32_t channel, uint32_t operating_class,
+ setListenChannel_cb _hidl_cb) override;
+ Return<void> getSsid(
+ const hidl_array<uint8_t, 6>& peer_address,
+ getSsid_cb _hidl_cb) override;
+ Return<void> getGroupCapability(
+ const hidl_array<uint8_t, 6>& peer_address,
+ getGroupCapability_cb _hidl_cb) override;
+ Return<void> addBonjourService(
+ const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response,
+ addBonjourService_cb _hidl_cb) override;
+ Return<void> removeBonjourService(
+ const hidl_vec<uint8_t>& query,
+ removeBonjourService_cb _hidl_cb) override;
+ Return<void> addUpnpService(
+ uint32_t version, const hidl_string& service_name,
+ addUpnpService_cb _hidl_cb) override;
+ Return<void> removeUpnpService(
+ uint32_t version, const hidl_string& service_name,
+ removeUpnpService_cb _hidl_cb) override;
+ Return<void> flushServices(
+ uint32_t version, const hidl_string& service_name,
+ flushServices_cb _hidl_cb) override;
+ Return<void> requestServiceDiscovery(
+ const hidl_array<uint8_t, 6>& peer_address,
+ const hidl_vec<uint8_t>& query,
+ requestServiceDiscovery_cb _hidl_cb) override;
+ Return<void> cancelServiceDiscovery(
+ uint64_t identifier, cancelServiceDiscovery_cb _hidl_cb) override;
private:
// Corresponding worker functions for the HIDL methods.
@@ -72,6 +145,58 @@
listNetworksInternal();
SupplicantStatus registerCallbackInternal(
const sp<ISupplicantP2pIfaceCallback>& callback);
+ std::pair<SupplicantStatus, std::array<uint8_t, 6>>
+ getDeviceAddressInternal();
+ SupplicantStatus setSsidPostfixInternal(const hidl_string& postfix);
+ SupplicantStatus setGroupIdleInternal(uint32_t timeout_in_sec);
+ SupplicantStatus setPowerSaveInternal(bool enable);
+ SupplicantStatus findInternal(uint32_t timeout_in_sec);
+ SupplicantStatus stopFindInternal();
+ SupplicantStatus flushInternal();
+ std::pair<SupplicantStatus, std::vector<uint8_t>> connectInternal(
+ const hidl_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);
+ SupplicantStatus cancelConnectInternal();
+ SupplicantStatus provisionDiscoveryInternal(
+ const hidl_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);
+ SupplicantStatus inviteInternal(
+ const hidl_string& group_ifname,
+ const hidl_array<uint8_t, 6>& go_device_address,
+ const hidl_array<uint8_t, 6>& peer_address);
+ SupplicantStatus reinvokeInternal(
+ uint32_t persistent_network_id,
+ const hidl_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);
+ std::pair<SupplicantStatus, uint32_t> getGroupCapabilityInternal(
+ const hidl_array<uint8_t, 6>& peer_address);
+ SupplicantStatus addBonjourServiceInternal(
+ const hidl_vec<uint8_t>& query, const hidl_vec<uint8_t>& response);
+ SupplicantStatus removeBonjourServiceInternal(
+ const hidl_vec<uint8_t>& query);
+ SupplicantStatus addUpnpServiceInternal(
+ uint32_t version, const hidl_string& service_name);
+ SupplicantStatus removeUpnpServiceInternal(
+ uint32_t version, const hidl_string& service_name);
+ 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);
+ SupplicantStatus cancelServiceDiscoveryInternal(uint64_t identifier);
struct wpa_supplicant* retrieveIfacePtr();
diff --git a/wpa_supplicant/hidl/supplicant.cpp b/wpa_supplicant/hidl/supplicant.cpp
index e903221..aba4402 100644
--- a/wpa_supplicant/hidl/supplicant.cpp
+++ b/wpa_supplicant/hidl/supplicant.cpp
@@ -64,6 +64,14 @@
show_timestamp, show_keys);
}
+Return<void> Supplicant::setConcurrencyPriority(
+ IfaceType type, setConcurrencyPriority_cb _hidl_cb)
+{
+ return validateAndCall(
+ this, SupplicantStatusCode::FAILURE_IFACE_INVALID,
+ &Supplicant::setConcurrencyPriorityInternal, _hidl_cb, type);
+}
+
Return<ISupplicant::DebugLevel> Supplicant::getDebugLevel()
{
// TODO: Add SupplicantStatus in this method return for uniformity with
@@ -154,6 +162,12 @@
}
return {SupplicantStatusCode::SUCCESS, ""};
}
+
+SupplicantStatus Supplicant::setConcurrencyPriorityInternal(IfaceType type)
+{
+ // TODO: Add implementation.
+ return SupplicantStatus{SupplicantStatusCode::SUCCESS, ""};
+}
} // namespace implementation
} // namespace V1_0
} // namespace wifi
diff --git a/wpa_supplicant/hidl/supplicant.h b/wpa_supplicant/hidl/supplicant.h
index 673b9f5..1ad8402 100644
--- a/wpa_supplicant/hidl/supplicant.h
+++ b/wpa_supplicant/hidl/supplicant.h
@@ -54,6 +54,8 @@
Return<ISupplicant::DebugLevel> getDebugLevel() override;
Return<bool> isDebugShowTimestampEnabled() override;
Return<bool> isDebugShowKeysEnabled() override;
+ Return<void> setConcurrencyPriority(
+ IfaceType type, setConcurrencyPriority_cb _hidl_cb) override;
private:
// Corresponding worker functions for the HIDL methods.
@@ -65,6 +67,7 @@
const sp<ISupplicantCallback>& callback);
SupplicantStatus setDebugParamsInternal(
ISupplicant::DebugLevel level, bool show_timestamp, bool show_keys);
+ SupplicantStatus setConcurrencyPriorityInternal(IfaceType type);
// Raw pointer to the global structure maintained by the core.
struct wpa_global* wpa_global_;