11af4b0280af406cfc7eb46810f6b76e57b983e11destradaa/*
21af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Copyright (C) 2013, The Android Open Source Project
31af4b0280af406cfc7eb46810f6b76e57b983e11destradaa *
41af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Licensed under the Apache License, Version 2.0 (the "License");
51af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * you may not use this file except in compliance with the License.
61af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * You may obtain a copy of the License at
71af4b0280af406cfc7eb46810f6b76e57b983e11destradaa *
81af4b0280af406cfc7eb46810f6b76e57b983e11destradaa *     http://www.apache.org/license/LICENSE-2.0
91af4b0280af406cfc7eb46810f6b76e57b983e11destradaa *
101af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Unless required by applicable law or agreed to in writing, software
111af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * distributed under the License is distributed on an "AS IS" BASIS,
121af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
131af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * See the License for the specific language governing permissions and
141af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * limitations under the License.
151af4b0280af406cfc7eb46810f6b76e57b983e11destradaa */
161af4b0280af406cfc7eb46810f6b76e57b983e11destradaa
171af4b0280af406cfc7eb46810f6b76e57b983e11destradaapackage android.hardware.location;
181af4b0280af406cfc7eb46810f6b76e57b983e11destradaa
191af4b0280af406cfc7eb46810f6b76e57b983e11destradaaimport android.location.Location;
201af4b0280af406cfc7eb46810f6b76e57b983e11destradaa
211af4b0280af406cfc7eb46810f6b76e57b983e11destradaa/**
221af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * Fused Location hardware event sink interface.
231af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * This interface defines the set of events that the FusedLocationHardware provides.
241af4b0280af406cfc7eb46810f6b76e57b983e11destradaa *
251af4b0280af406cfc7eb46810f6b76e57b983e11destradaa * @hide
261af4b0280af406cfc7eb46810f6b76e57b983e11destradaa */
271af4b0280af406cfc7eb46810f6b76e57b983e11destradaainterface IFusedLocationHardwareSink {
281af4b0280af406cfc7eb46810f6b76e57b983e11destradaa    /**
291af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     * Event generated when a batch of location information is available.
301af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     *
311af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     * @param locations     The batch of location information available.
321af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     */
33ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie    void onLocationAvailable(in Location[] locations) = 0;
341af4b0280af406cfc7eb46810f6b76e57b983e11destradaa
351af4b0280af406cfc7eb46810f6b76e57b983e11destradaa    /**
361af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     * Event generated from FLP HAL to provide diagnostic data to the platform.
371af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     *
381af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     * @param data      The diagnostic data provided by FLP HAL.
391af4b0280af406cfc7eb46810f6b76e57b983e11destradaa     */
40ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie    void onDiagnosticDataAvailable(in String data) = 1;
41ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie
42ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie    /**
43ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie     * Event generated from FLP HAL to provide a mask of supported
44ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie     * capabilities.  Should be called immediatly after init.
45ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie     */
46ffca45a2cdd778e6edd5c3959bf53c6192b7e035David Christie    void onCapabilities(int capabilities) = 2;
4715003f19e5e5a443222569401f167a3ac0e1de3aDavid Christie
4815003f19e5e5a443222569401f167a3ac0e1de3aDavid Christie    /**
4915003f19e5e5a443222569401f167a3ac0e1de3aDavid Christie     * Event generated from FLP HAL when the status of location batching
5015003f19e5e5a443222569401f167a3ac0e1de3aDavid Christie     * changes (location is successful/unsuccessful).
5115003f19e5e5a443222569401f167a3ac0e1de3aDavid Christie     */
5215003f19e5e5a443222569401f167a3ac0e1de3aDavid Christie    void onStatusChanged(int status) = 3;
531af4b0280af406cfc7eb46810f6b76e57b983e11destradaa}