| /* |
| * Copyright (C) 2015 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.car.hardware; |
| |
| import android.car.hardware.CarSensorConfig; |
| import android.car.hardware.CarSensorEvent; |
| import android.car.hardware.ICarSensorEventListener; |
| |
| /** @hide */ |
| interface ICarSensor { |
| |
| int[] getSupportedSensors() = 0; |
| |
| /** |
| * register a callback or update registration if already updated. |
| * @param sensorType sensor to listen with this callback. |
| * @param rate sensor rate. |
| * @return false if requested sensors cannot be subscribed / started. |
| */ |
| boolean registerOrUpdateSensorListener(int sensorType, int rate, |
| in ICarSensorEventListener callback) = 1; |
| |
| /** |
| * get latest sensor event for the type. If there was no update after car connection, it will |
| * return null immediately. |
| */ |
| CarSensorEvent getLatestSensorEvent(int sensorType) = 2; |
| |
| /** |
| * Stop listening for the given sensor type. All other sensors registered before will not |
| * be affected. |
| */ |
| void unregisterSensorListener(int sensorType, in ICarSensorEventListener callback) = 3; |
| |
| /** |
| * get config flags and config array for the sensor type |
| */ |
| CarSensorConfig getSensorConfig(int sensorType) = 4; |
| } |