platform_hardware_interfaces/gnss/2.0/IGnss.hal

82 lines
2.7 KiB
Text
Raw Normal View History

/*
* 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 IGnssConfiguration;
import IGnssMeasurement;
import IAGnss;
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 IGnssConfiguration interface.
*
* @return gnssConfigurationIface Handle to the IGnssConfiguration interface.
*/
getExtensionGnssConfiguration_2_0() generates (IGnssConfiguration gnssConfigurationIface);
/**
* This method returns the IAGnss Interface.
*
* The getExtensionAGnss() must return nullptr as the @1.0::IAGnss interface is
* deprecated.
*
* @return aGnssIface Handle to the IAGnss interface.
*/
getExtensionAGnss_2_0() generates (IAGnss aGnssIface);
/**
* 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);
};