blob: 292b10f6575daa2962e40bfda03844703f59b690 [file] [log] [blame]
Mitchell Wills5443a9f2016-08-18 11:44:58 -07001/*
2 * Copyright 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.hardware.wifi@1.0;
18
19interface IWifiChipEventCallback {
20 /**
21 * Callback indicating that the chip has been reconfigured successfully. At
22 * this point the interfaces available in the mode must be able to be
23 * configured. When this is called any previous interface indexes will be
24 * considered invalid.
25 *
26 * @param modeId The mode that the chip switched to, corresponding to the id
Roshan Pius6f31d922016-10-04 15:08:05 -070027 * property of the target ChipMode.
Mitchell Wills5443a9f2016-08-18 11:44:58 -070028 */
29 oneway onChipReconfigured(ChipModeId modeId);
Roshan Piuse3a02b02016-10-19 12:31:01 -070030
31 /**
32 * Callbacks for reporting debug ring buffer data.
33 *
34 * The ring buffer data collection is event based:
35 * - Driver calls this callback when new records are available, the
36 * |WifiDebugRingBufferStatus| passed up to framework in the callback
37 * indicates to framework if more data is available in the ring buffer.
38 * It is not expected that driver will necessarily always empty the ring
39 * immediately as data is available, instead driver will report data
40 * every X seconds or if N bytes are available based on the parameters
41 * set via |startLoggingToDebugRingBuffer|.
42 * - In the case where a bug report has to be captured, framework will
43 * require driver to upload all data immediately. This is indicated to
44 * driver when framework calls |forceDumpToDebugRingBuffer|. The driver
45 * will start sending all available data in the indicated ring by repeatedly
46 * invoking this callback.
47 *
48 * @return status Status of the corresponding ring buffer. This should
49 * contain the name of the ring buffer on which the data is
50 * available.
51 * @return entries Vector of debug ring buffer data entries. These
52 * should be parsed based on the type of entry.
53 */
54 /** Connectivity event data callback */
55 oneway onDebugRingBufferConnectivityEventEntriesAvailable(
56 WifiDebugRingBufferStatus status,
57 vec<WifiDebugRingEntryConnectivityEvent> entries);
58
59 /** Power event data callback */
60 oneway onDebugRingBufferPowerEventEntriesAvailable(
61 WifiDebugRingBufferStatus status,
62 vec<WifiDebugRingEntryPowerEvent> entries);
63
64 /** Wakelock event data callback */
65 oneway onDebugRingBufferWakelockEventEntriesAvailable(
66 WifiDebugRingBufferStatus status,
67 vec<WifiDebugRingEntryWakelockEvent> entries);
68
69 /** Vendor data event data callback */
70 oneway onDebugRingBufferVendorDataEntriesAvailable(
71 WifiDebugRingBufferStatus status,
72 vec<WifiDebugRingEntryVendorData> entries);
Mitchell Wills5443a9f2016-08-18 11:44:58 -070073};