platform_hardware_interfaces/gnss/1.0/IGnssNiCallback.hal
Hridya Valsaraju 529331c4cb Add annotations to create gnss-base.h
This is required to make sure that the constants in gps.h does not
ever go out of sync with the enums created out of them in the HAL
interface definition.

Test: mm

Change-Id: I103cf46d198e9f5de9e0cfd64f2795f0094ecb39
2017-01-23 08:41:15 -08:00

127 lines
3.5 KiB
Text

/*
* Copyright (C) 2016 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@1.0;
/* GNSS Network Initiated callback interface. */
interface IGnssNiCallback {
/*
* GnssNiType constants
*/
@export(name="", value_prefix="GPS_NI_TYPE_")
enum GnssNiType : uint8_t {
VOICE = 1,
UMTS_SUPL = 2,
UMTS_CTRL_PLANE = 3
};
/*
* GnssNiNotifyFlags constants
*/
@export(name="", value_prefix="GPS_NI_")
enum GnssNiNotifyFlags : uint32_t {
/** NI requires notification */
NEED_NOTIFY = 0x0001,
/** NI requires verification */
NEED_VERIFY = 0x0002,
/** NI requires privacy override, no notification/minimal trace */
PRIVACY_OVERRIDE = 0x0004,
};
/*
* GNSS NI responses, used to define the response in
* NI structures
*/
@export(name="", value_prefix="GPS_NI_")
enum GnssUserResponseType : uint8_t {
RESPONSE_ACCEPT = 1,
RESPONSE_DENY = 2,
RESPONSE_NORESP = 3,
};
/*
* NI data encoding scheme
*/
@export(name="", value_prefix="GPS_")
enum GnssNiEncodingType : int32_t {
ENC_NONE = 0,
ENC_SUPL_GSM_DEFAULT = 1,
ENC_SUPL_UTF8 = 2,
ENC_SUPL_UCS2 = 3,
ENC_UNKNOWN = -1,
};
/** Represents an NI request */
struct GnssNiNotification{
/*
* An ID generated by HAL to associate NI notifications and UI
* responses.
*/
int32_t notificationId;
/*
* A type used to distinguish different categories of NI
* events, such as VOICE, UMTS_SUPL etc.
*/
GnssNiType niType;
/*
* Notification/verification options, combinations of GnssNiNotifyFlags
* constants.
*/
bitfield<GnssNiNotifyFlags> notifyFlags;
/*
* Timeout period to wait for user response.
* Set to 0 for no timeout limit. Specified in seconds.
*/
uint32_t timeoutSec;
/*
* Default response when timeout.
*/
GnssUserResponseType defaultResponse;
/*
* String representing the requester of the network inititated location
* request.
*/
string requestorId;
/*
* Notification message. String representing the service(for eg. SUPL-service)
* who sent the network initiated location request.
*/
string notificationMessage;
/*
* requestorId decoding scheme.
*/
GnssNiEncodingType requestorIdEncoding;
/*
* notificationId decoding scheme
*/
GnssNiEncodingType notificationIdEncoding;
};
/*
* Callback with a network initiated request.
*
* @param notification network initiated request.
*/
niNotifyCb(GnssNiNotification notification);
};