blob: 6bffc7d7d5d3dab997a1595c7b716b0fef4f7107 [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@1.0;
interface IWifiStaIfaceEventCallback {
/**
* Structure describing all the information about a single access point seen
* during the scan.
*/
struct ScanResult {
TimeStampInUs timeStampInUs;
vec<uint8_t> ssid;
Bssid bssid;
Rssi rssi;
WifiChannelInMhz frequency;
uint16_t beaconPeriodInMs;
uint16_t capability;
vec<WifiInformationElement> informationElements;
};
/**
* Mask of flags set in the |ScanData| instance.
*/
enum ScanDataFlagMask {
/**
* Indicates that a scan was interrupted/did not occur so results may be
* incomplete.
*/
WIFI_SCAN_FLAG_INTERRUPTED = 1 << 0,
};
/**
* Structure describing all the information about all the access points seen during
* the scan.
*/
struct ScanData {
/**
* Bitset containing |ScanDataFlagMask| values.
*/
uint32_t flags;
/**
* Bitset where each bit indicates if the bucket with that index was
* scanned.
*/
uint32_t bucketsScanned;
/**
* List of scan results.
*/
vec<ScanResult> results;
};
/**
* Callback indicating that an ongoing background scan request has failed.
* The background scan needs to be restarted to continue scanning.
*/
oneway onBackgroundScanFailure(CommandId cmdId);
/**
* Called for each received beacon/probe response for a scan with the
* |REPORT_EVENTS_FULL_RESULTS| flag set in
* |BackgroundScanBucketParameters.eventReportScheme|.
*
* @param cmdId command Id corresponding to the request.
* @parm result Full scan result for an AP.
*/
oneway onBackgroundFullScanResult(CommandId cmdId, ScanResult result);
/**
* Called when the |BackgroundScanBucketParameters.eventReportScheme| flags
* for at least one bucket that was just scanned was
* |REPORT_EVENTS_EACH_SCAN| or one of the configured thresholds was
* breached.
*
* @param cmdId command Id corresponding to the request.
* @parm scanDatas List of scan result for all AP's seen since last callback.
*/
oneway onBackgroundScanResults(CommandId cmdId, vec<ScanData> scanDatas);
};