/* * Copyright (C) 2018 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.gnss@2.0; import android.hardware.gnss.measurement_corrections@1.0::IMeasurementCorrections; import @1.1::IGnss; import IGnssCallback; import IGnssMeasurement; import IAGnssRil; /** Represents the standard GNSS (Global Navigation Satellite System) interface. */ interface IGnss extends @1.1::IGnss { /** * Opens the interface and provides the callback routines to the implementation of this * interface. * * @param callback Callback interface for IGnss. * * @return success Returns true on success. */ setCallback_2_0(IGnssCallback callback) generates (bool success); /** * This method returns the IAGnssRil Interface. * * @return aGnssRilIface Handle to the IAGnssRil interface. */ getExtensionAGnssRil_2_0() generates (IAGnssRil aGnssRilIface); /** * This method returns the IGnssMeasurement interface. * * Exactly one of getExtensionGnssMeasurement_1_1() and getExtensionGnssMeasurement_2_0() must * return a non-null handle, and the other method must return nullptr. * * @return gnssMeasurementIface Handle to the IGnssMeasurement interface. */ getExtensionGnssMeasurement_2_0() generates (IGnssMeasurement gnssMeasurementIface); /** * This method returns the IMeasurementCorrections interface. * * @return measurementCorrectionsIface Handle to the IMeasurementCorrections interface. */ getExtensionMeasurementCorrections() generates (IMeasurementCorrections measurementCorrectionsIface); };