blob: 6ec71431115aa2eb57b5d29adec7556d0c8d41eb [file] [log] [blame]
/*
* 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);
};