platform_hardware_interfaces/gnss/2.0/IAGnss.hal
Anil Admal 3a405c5905 Extend IAGnss.hal to address requestRouteToHost deprecation
The framework networking component method requestRouteToHost() in
class ConnectivityManager used to support the IAGnss.hal interface
is deprecated. This requires changes to the IAGnss.hal interface
to pass network handle to the GNSS HAL implementation in order
to setup SUPL connections.

Bug: 25876485
Test: atest VtsHalGnssV2_0TargetTest on cuttlefish
Change-Id: If0ecd480879da37508f710620975a198e674f3df
2018-12-21 15:28:35 -08:00

83 lines
No EOL
2.8 KiB
Text

/*
* 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 IAGnssCallback;
/**
* Extended interface for Assisted GNSS support.
*/
interface IAGnss {
enum ApnIpType : uint8_t {
INVALID = 0,
IPV4 = 1,
IPV6 = 2,
IPV4V6 = 3
};
/**
* Opens the AGNSS interface and provides the callback routines to the
* implementation of this interface.
*
* @param callback Handle to the AGNSS status callback interface.
*/
setCallback(IAGnssCallback callback);
/**
* Notifies that the AGNSS data connection has been closed.
*
* @return success True if the operation is successful.
*/
dataConnClosed() generates (bool success);
/**
* Notifies that a data connection is not available for AGNSS.
*
* @return success True if the operation is successful.
*/
dataConnFailed() generates (bool success);
/**
* Sets the hostname and port for the AGNSS server.
*
* @param type Specifies if SUPL or C2K.
* @param hostname Hostname of the AGNSS server.
* @param port Port number associated with the server.
*
* @return success True if the operation is successful.
*/
setServer(AGnssType type, string hostname, int32_t port)
generates (bool success);
/**
* Notifies GNSS that a data connection is available and sets the network handle,
* name of the APN, and its IP type to be used for SUPL connections.
*
* The HAL implementation must use the network handle to set the network for the
* SUPL connection sockets using the android_setsocknetwork function. This will ensure
* that there is a network path to the SUPL server. The network handle can also be used
* to get the IP address of SUPL FQDN using the android_getaddrinfofornetwork() function.
*
* @param networkHandle Handle representing the network for use with the NDK API.
* @param apn Access Point Name (follows regular APN naming convention).
* @param apnIpType Specifies IP type of APN.
*
* @return success True if the operation is successful.
*/
dataConnOpen(net_handle_t networkHandle, string apn, ApnIpType apnIpType)
generates (bool success);
};