| /* |
| * 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@1.0; |
| |
| import IWifiIface; |
| import IWifiNanIfaceEventCallback; |
| |
| /** |
| * Interface used to represent a single NAN(Neighbour Aware Network) iface. |
| * |
| * References to "NAN Spec" are to the Wi-Fi Alliance "Wi-Fi Neighbor Awareness |
| * Networking (NAN) Technical Specification". |
| */ |
| interface IWifiNanIface extends IWifiIface { |
| /** |
| * Requests notifications of significant events on this iface. Multiple calls |
| * to this must register multiple callbacks each of which must receive all |
| * events. |
| * |
| * @param callback An instance of the |IWifiNanIfaceEventCallback| HIDL interface |
| * object. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID| |
| */ |
| registerEventCallback(IWifiNanIfaceEventCallback callback) |
| generates (WifiStatus status); |
| |
| /** |
| * Get NAN capabilities. Asynchronous response is with |
| * |IWifiNanIfaceEventCallback.notifyCapabilitiesResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| getCapabilitiesRequest(CommandIdShort cmdId) generates (WifiStatus status); |
| |
| /** |
| * Enable NAN: configures and activates NAN clustering (does not start |
| * a discovery session or set up data-interfaces or data-paths). Use the |
| * |IWifiNanIface.configureRequest| method to change the configuration of an already enabled |
| * NAN interface. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyEnableResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param msg Instance of |NanEnableRequest|. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_INVALID_ARGS|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| enableRequest(CommandIdShort cmdId, NanEnableRequest msg) |
| generates (WifiStatus status); |
| |
| /** |
| * Configure NAN: configures an existing NAN functionality (i.e. assumes |
| * |IWifiNanIface.enableRequest| already submitted and succeeded). |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyConfigResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param msg Instance of |NanConfigRequest|. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_INVALID_ARGS|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| configRequest(CommandIdShort cmdId, NanConfigRequest msg) |
| generates (WifiStatus status); |
| |
| /** |
| * Disable NAN functionality. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyDisableResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| disableRequest(CommandIdShort cmdId) generates (WifiStatus status); |
| |
| /** |
| * Publish request to start advertising a discovery service. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStartPublishResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param msg Instance of |NanPublishRequest|. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_INVALID_ARGS|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| startPublishRequest(CommandIdShort cmdId, NanPublishRequest msg) |
| generates (WifiStatus status); |
| |
| /** |
| * Stop publishing a discovery service. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStopPublishResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param sessionId ID of the publish discovery session to be stopped. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| stopPublishRequest(CommandIdShort cmdId, uint8_t sessionId) |
| generates (WifiStatus status); |
| |
| /** |
| * Subscribe request to start searching for a discovery service. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStartSubscribeResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param msg Instance of |NanSubscribeRequest|. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_INVALID_ARGS|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| startSubscribeRequest(CommandIdShort cmdId, NanSubscribeRequest msg) |
| generates (WifiStatus status); |
| |
| /** |
| * Stop subscribing to a discovery service. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyStopSubscribeResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param sessionId ID of the subscribe discovery session to be stopped. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| stopSubscribeRequest(CommandIdShort cmdId, uint8_t sessionId) |
| generates (WifiStatus status); |
| |
| /** |
| * NAN transmit follow up message request. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyTransmitFollowupResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param msg Instance of |NanTransmitFollowupRequest|. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_INVALID_ARGS|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| transmitFollowupRequest(CommandIdShort cmdId, NanTransmitFollowupRequest msg) |
| generates (WifiStatus status); |
| |
| /** |
| * Create a NAN Data Interface. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyCreateDataInterfaceResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| createDataInterfaceRequest(CommandIdShort cmdId, string ifaceName) |
| generates (WifiStatus status); |
| |
| /** |
| * Delete a NAN Data Interface. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyDeleteDataInterfaceResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| deleteDataInterfaceRequest(CommandIdShort cmdId, string ifaceName) |
| generates (WifiStatus status); |
| |
| /** |
| * Initiate a data-path (NDP) setup operation: Initiator. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyInitiateDataPathResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param msg Instance of |NanInitiateDataPathRequest|. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_INVALID_ARGS|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| initiateDataPathRequest(CommandIdShort cmdId, NanInitiateDataPathRequest msg) |
| generates (WifiStatus status); |
| |
| /** |
| * Respond to a received data indication as part of a data-path (NDP) setup operation. An |
| * indication is received by the Responder from the Initiator. |
| * Asynchronous response is with |
| * |IWifiNanIfaceEventCallback.notifyRespondToDataPathIndicationResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param msg Instance of |NanRespondToDataPathIndicationRequest|. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_INVALID_ARGS|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| respondToDataPathIndicationRequest(CommandIdShort cmdId, |
| NanRespondToDataPathIndicationRequest msg) |
| generates (WifiStatus status); |
| |
| /** |
| * Data-path (NDP) termination request: executed by either Initiator or Responder. |
| * Asynchronous response is with |IWifiNanIfaceEventCallback.notifyTerminateDataPathResponse|. |
| * |
| * @param cmdId command Id to use for this invocation. |
| * @param ndpInstanceId Data-path instance ID to be terminated. |
| * @return status WifiStatus of the operation. |
| * Possible status codes: |
| * |WifiStatusCode.SUCCESS|, |
| * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|, |
| * |WifiStatusCode.ERROR_UNKNOWN| |
| */ |
| terminateDataPathRequest(CommandIdShort cmdId, uint32_t ndpInstanceId) |
| generates (WifiStatus status); |
| }; |