2019-10-25 23:14:35 +02:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2019 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.1;
|
|
|
|
|
2020-01-03 22:06:38 +01:00
|
|
|
import android.hardware.gnss.measurement_corrections@1.1::IMeasurementCorrections;
|
2019-10-25 23:14:35 +02:00
|
|
|
import @2.0::IGnss;
|
|
|
|
import IGnssCallback;
|
|
|
|
import IGnssMeasurement;
|
2019-12-04 21:17:50 +01:00
|
|
|
import IGnssConfiguration;
|
2020-02-11 07:00:10 +01:00
|
|
|
import IGnssAntennaInfo;
|
2019-10-25 23:14:35 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Represents the standard GNSS (Global Navigation Satellite System) interface.
|
|
|
|
*/
|
|
|
|
interface IGnss extends @2.0::IGnss {
|
|
|
|
/**
|
|
|
|
* Opens the interface and provides the callback routines to the implementation of this
|
|
|
|
* interface.
|
|
|
|
*
|
|
|
|
* The framework calls this method to instruct the GPS engine to prepare for serving requests
|
|
|
|
* from the framework. The GNSS HAL implementation must respond to all GNSS requests from the
|
|
|
|
* framework upon successful return from this method until cleanup() method is called to
|
|
|
|
* close this interface.
|
|
|
|
*
|
|
|
|
* @param callback Callback interface for IGnss.
|
|
|
|
*
|
|
|
|
* @return success Returns true on success.
|
|
|
|
*/
|
|
|
|
setCallback_2_1(IGnssCallback callback) generates (bool success);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This method returns the IGnssMeasurement interface.
|
|
|
|
*
|
2020-02-19 07:30:16 +01:00
|
|
|
* getExtensionGnssMeasurement(), getExtensionGnssMeasurement_1_1(),
|
2019-10-25 23:14:35 +02:00
|
|
|
* getExtensionGnssMeasurement_2_0(), and getExtensionGnssMeasurement_2_1() methods must return
|
2020-02-19 07:30:16 +01:00
|
|
|
* non-null. They can all return the same, latest version of IGnssMeasurement.
|
2019-10-25 23:14:35 +02:00
|
|
|
*
|
|
|
|
* @return gnssMeasurementIface Handle to the IGnssMeasurement interface.
|
|
|
|
*/
|
|
|
|
getExtensionGnssMeasurement_2_1() generates (IGnssMeasurement gnssMeasurementIface);
|
2019-12-04 21:17:50 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This method returns the IGnssConfiguration interface.
|
|
|
|
*
|
2020-02-19 07:30:16 +01:00
|
|
|
* getExtensionGnssConfiguration(), getExtensionGnssConfiguration_1_1(),
|
2019-12-04 21:17:50 +01:00
|
|
|
* getExtensionGnssConfiguration_2_0(), and getExtensionGnssConfiguration_2_1() methods must
|
2020-02-19 07:30:16 +01:00
|
|
|
* return non-null. They can all return the same, latest version of IGnssConfiguration.
|
2019-12-04 21:17:50 +01:00
|
|
|
*
|
|
|
|
* @return gnssConfigurationIface Handle to the IGnssConfiguration interface.
|
|
|
|
*/
|
|
|
|
getExtensionGnssConfiguration_2_1() generates (IGnssConfiguration gnssConfigurationIface);
|
2020-01-03 22:06:38 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This method returns the IMeasurementCorrections interface.
|
|
|
|
*
|
|
|
|
* Both getExtensionMeasurementCorrections and getExtensionMeasurementCorrections_1_1 must
|
|
|
|
* return non-null. Both methods can return the same V1.1 IMeasurementCorrections object.
|
|
|
|
*
|
|
|
|
* @return measurementCorrectionsIface Handle to the IMeasurementCorrections interface.
|
|
|
|
*/
|
2020-02-11 07:00:10 +01:00
|
|
|
getExtensionMeasurementCorrections_1_1()
|
|
|
|
generates (IMeasurementCorrections measurementCorrectionsIface);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This method returns the IGnssAntennaInfo interface.
|
|
|
|
*
|
|
|
|
* This method must return non-null.
|
|
|
|
*
|
|
|
|
* @return gnssAntennaInfoIface Handle to the IGnssAntennaInfo interface.
|
|
|
|
*/
|
|
|
|
getExtensionGnssAntennaInfo() generates (IGnssAntennaInfo gnssAntennaInfoIface);
|
|
|
|
};
|