| /* |
| * 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; |
| |
| interface IWifiChipEventCallback { |
| /** |
| * Callback indicating that the chip has been reconfigured successfully. At |
| * this point the interfaces available in the mode must be able to be |
| * configured. When this is called any previous iface objects must be |
| * considered invalid. |
| * |
| * @param modeId The mode that the chip switched to, corresponding to the id |
| * property of the target ChipMode. |
| */ |
| oneway onChipReconfigured(ChipModeId modeId); |
| |
| /** |
| * Callback indicating that a chip reconfiguration failed. This is a fatal |
| * error and any iface objects available previously must be considered |
| * invalid. The client can attempt to recover by trying to reconfigure the |
| * chip again using |IWifiChip.configureChip|. |
| * |
| * @param status Failure reason code. |
| */ |
| oneway onChipReconfigureFailure(WifiStatus status); |
| |
| /** |
| * Callback indicating that a new iface has been added to the chip. |
| * |
| * @param type Type of iface added. |
| * @param name Name of iface added. |
| */ |
| oneway onIfaceAdded(IfaceType type, string name); |
| |
| /** |
| * Callback indicating that an existing iface has been removed from the chip. |
| * |
| * @param type Type of iface removed. |
| * @param name Name of iface removed. |
| */ |
| oneway onIfaceRemoved(IfaceType type, string name); |
| |
| /** |
| * Callbacks for reporting debug ring buffer data. |
| * |
| * The ring buffer data collection is event based: |
| * - Driver calls this callback when new records are available, the |
| * |WifiDebugRingBufferStatus| passed up to framework in the callback |
| * indicates to framework if more data is available in the ring buffer. |
| * It is not expected that driver will necessarily always empty the ring |
| * immediately as data is available, instead driver will report data |
| * every X seconds or if N bytes are available based on the parameters |
| * set via |startLoggingToDebugRingBuffer|. |
| * - In the case where a bug report has to be captured, framework will |
| * require driver to upload all data immediately. This is indicated to |
| * driver when framework calls |forceDumpToDebugRingBuffer|. The driver |
| * will start sending all available data in the indicated ring by repeatedly |
| * invoking this callback. |
| * |
| * @return status Status of the corresponding ring buffer. This should |
| * contain the name of the ring buffer on which the data is |
| * available. |
| * @return data Raw bytes of data sent by the driver. Must be dumped |
| * out to a bugreport and post processed. |
| */ |
| oneway onDebugRingBufferDataAvailable( |
| WifiDebugRingBufferStatus status, vec<uint8_t> data); |
| |
| /** |
| * Callback indicating that the chip has encountered a fatal error. |
| * Client must not attempt to parse either the errorCode or debugData. |
| * Must only be captured in a bugreport. |
| * |
| * @param errorCode Vendor defined error code. |
| * @param debugData Vendor defined data used for debugging. |
| */ |
| oneway onDebugErrorAlert(int32_t errorCode, vec<uint8_t> debugData); |
| }; |