1e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju/* 2e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Copyright (C) 2016 The Android Open Source Project 3e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 4e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Licensed under the Apache License, Version 2.0 (the "License"); 5e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * you may not use this file except in compliance with the License. 6e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * You may obtain a copy of the License at 7e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 8e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * http://www.apache.org/licenses/LICENSE-2.0 9e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 10e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Unless required by applicable law or agreed to in writing, software 11e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * distributed under the License is distributed on an "AS IS" BASIS, 12e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * See the License for the specific language governing permissions and 14e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * limitations under the License. 15e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju */ 16e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 17e596a7104601705c22790cba73feeda00458e53aHridya Valsarajupackage android.hardware.gnss@1.0; 18e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 19e596a7104601705c22790cba73feeda00458e53aHridya Valsarajuimport IAGnssCallback; 20e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 2140d3a9bd8c62714ee58f9363c4456f764aa5a95dAndreas Huber/** 22e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Extended interface for AGNSS support. 23e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju */ 24e596a7104601705c22790cba73feeda00458e53aHridya Valsarajuinterface IAGnss { 25529331c4cbb1d55c7cc66ddc95efe5f168ee74ddHridya Valsaraju @export(name="", value_prefix="APN_IP_") 2697ecaa0a72198158b2ba12aba3bc197ba573f069Hridya Valsaraju enum ApnIpType : uint8_t { 27e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju INVALID = 0, 28e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju IPV4 = 1, 29e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju IPV6 = 2, 30e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju IPV4V6 = 3 31e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju }; 32e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 3340d3a9bd8c62714ee58f9363c4456f764aa5a95dAndreas Huber /** 34e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Opens the AGNSS interface and provides the callback routines to the 35e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * implementation of this interface. 36e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 37e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @param callback Handle to the AGNSS status callback interface. 38e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju */ 39e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju setCallback(IAGnssCallback callback); 40e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 4140d3a9bd8c62714ee58f9363c4456f764aa5a95dAndreas Huber /** 42e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Notifies that the AGNSS data connection has been closed. 43e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 44e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @return success True if the operation is successful. 45e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju */ 46e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju dataConnClosed() generates (bool success); 47e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 4840d3a9bd8c62714ee58f9363c4456f764aa5a95dAndreas Huber /** 49e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Notifies that a data connection is not available for AGNSS. 50e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 51e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @return success True if the operation is successful. 52e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju */ 53e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju dataConnFailed() generates (bool success); 54e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 5540d3a9bd8c62714ee58f9363c4456f764aa5a95dAndreas Huber /** 56e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Sets the hostname and port for the AGNSS server. 57e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 58e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @param type Specifies if SUPL or C2K. 59e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @param hostname Hostname of the AGNSS server. 60e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @param port Port number associated with the server. 61e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 62e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @return success True if the operation is successful. 63e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju */ 64e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju setServer(AGnssType type, string hostname, int32_t port) 65e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju generates (bool success); 66e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju 6740d3a9bd8c62714ee58f9363c4456f764aa5a95dAndreas Huber /** 68e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * Notifies that a data connection is available and sets the name of the 69e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * APN, and its IP type, to be used for SUPL connections. 70e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 71e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @param apn Access Point Name(follows regular APN naming convention). 72e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @param apnIpType Specifies if SUPL or C2K. 73e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * 74e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju * @return success True if the operation is successful. 75e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju */ 7697ecaa0a72198158b2ba12aba3bc197ba573f069Hridya Valsaraju dataConnOpen(string apn, ApnIpType apnIpType) 77e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju generates (bool success); 78e596a7104601705c22790cba73feeda00458e53aHridya Valsaraju}; 79