1/* 2 * Copyright (C) 2019 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.gnss.measurement_corrections@1.0; 18 19/** 20 * GNSS measurement corrections callback interface. 21 */ 22interface IMeasurementCorrectionsCallback { 23 24 /** 25 * Flags to indicate supported measurement corrections capabilities 26 * 27 * Either the LOS_SATS or the EXCESS_PATH_LENGTH capability must be supported. 28 */ 29 enum Capabilities : uint32_t { 30 /** GNSS supports line-of-sight satellite identification measurement corrections */ 31 LOS_SATS = 1 << 0, 32 /** GNSS supports per satellite excess-path-length measurement corrections */ 33 EXCESS_PATH_LENGTH = 1 << 1, 34 /** GNSS supports reflecting planes measurement corrections */ 35 REFLECTING_PLANE = 1 << 2 36 }; 37 38 /** 39 * Callback to inform framework the measurement correction specific capabilities of the GNSS 40 * HAL implementation. 41 * 42 * The GNSS HAL must call this method immediately after the framework opens the measurement 43 * corrections interface. 44 * 45 * @param capabilities Supported measurement corrections capabilities. It is mandatory to 46 * support either LOS_STATS or EXCESS_PATH_LENGTH capability. 47 * 48 */ 49 setCapabilitiesCb(bitfield<Capabilities> capabilities); 50};