/* * Copyright 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.wifi.supplicant@1.0; import ISupplicantNetwork; import ISupplicantP2pNetworkCallback; /** * Interface exposed by the supplicant for each P2P mode network * configuration it controls. */ interface ISupplicantP2pNetwork extends ISupplicantNetwork { /** * Register for callbacks from this network. * * These callbacks are invoked for events that are specific to this network. * Registration of multiple callback objects is supported. These objects must * be automatically deleted when the corresponding client process is dead or * if this network is removed. * * @param callback An instance of the |ISupplicantP2pNetworkCallback| HIDL * interface object. * @return status P2ptus of the operation. * Possible status codes: * |SupplicantP2ptusCode.SUCCESS|, * |SupplicantP2ptusCode.FAILURE_UNKNOWN|, * |SupplicantP2ptusCode.FAILURE_NETWORK_INVALID| */ registerCallback(ISupplicantP2pNetworkCallback callback) generates (SupplicantStatus status); /** * Getters for the various network params. */ /** * Get SSID for this network. * * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * @return ssid value set. */ getSsid() generates (SupplicantStatus status, Ssid ssid); /** * Get the BSSID set for this network. * * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * @return bssid value set. */ getBssid() generates (SupplicantStatus status, Bssid bssid); /** * Check if the network is currently active one. * * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * @return isCurrent true if current, false otherwise. */ isCurrent() generates (SupplicantStatus status, bool isCurrent); /** * Check if the network is marked persistent. * * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * @return isPersistent true if persistent, false otherwise. */ isPersistent() generates (SupplicantStatus status, bool isPersistent); /** * Check if the device is the group owner of the network. * * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * @return isGo true if group owner, false otherwise. */ isGo() generates (SupplicantStatus status, bool isGo); /** * Set the list of P2P Clients in a persistent group (GO). * This is a list of P2P Clients (P2P Device Address) that have joined * the persistent group. This is maintained on the GO for persistent * group entries (disabled == 2). * * @param clients MAC address of the clients. * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantP2ptusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| */ setClientList(vec<MacAddress> clients) generates (SupplicantStatus status); /** * Get the list of P2P Clients in a persistent group (GO). * This is a list of P2P Clients (P2P Device Address) that have joined * the persistent group. This is maintained on the GO for persistent * group entries (disabled == 2). * * @return status Status of the operation. * Possible status codes: * |SupplicantStatusCode.SUCCESS|, * |SupplicantP2ptusCode.FAILURE_UNKNOWN|, * |SupplicantStatusCode.FAILURE_NETWORK_INVALID| * @return clients MAC address of the clients. */ getClientList() generates (SupplicantStatus status, vec<MacAddress> clients); };