You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.6 KiB
104 lines
3.6 KiB
/* |
|
* 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.automotive.vehicle@2.0; |
|
|
|
import IVehicleCallback; |
|
|
|
interface IVehicle { |
|
/** |
|
* Returns a list of all property configurations supported by this vehicle |
|
* HAL. |
|
*/ |
|
getAllPropConfigs() generates (vec<VehiclePropConfig> propConfigs); |
|
|
|
/** |
|
* Returns a list of property configurations for given properties. |
|
* |
|
* If requested VehicleProperty wasn't found it must return |
|
* StatusCode::INVALID_ARG, otherwise a list of vehicle property |
|
* configurations with StatusCode::OK |
|
*/ |
|
getPropConfigs(vec<int32_t> props) |
|
generates (StatusCode status, vec<VehiclePropConfig> propConfigs); |
|
|
|
/** |
|
* Get a vehicle property value. |
|
* |
|
* For VehiclePropertyChangeMode::STATIC properties, this method must always |
|
* return the same value always. |
|
* For VehiclePropertyChangeMode::ON_CHANGE properties, it must return the |
|
* latest available value. |
|
* |
|
* Some properties like AUDIO_VOLUME requires to pass additional data in |
|
* GET request in VehiclePropValue object. |
|
* |
|
* If there is no data available yet, which can happen during initial stage, |
|
* this call must return immediately with an error code of |
|
* StatusCode::TRY_AGAIN. |
|
*/ |
|
get(VehiclePropValue requestedPropValue) |
|
generates (StatusCode status, VehiclePropValue propValue); |
|
|
|
/** |
|
* Set a vehicle property value. |
|
* |
|
* Timestamp of data must be ignored for set operation. |
|
* |
|
* Setting some properties require having initial state available. If initial |
|
* data is not available yet this call must return StatusCode::TRY_AGAIN. |
|
* For a property with separate power control this call must return |
|
* StatusCode::NOT_AVAILABLE error if property is not powered on. |
|
*/ |
|
set(VehiclePropValue propValue) generates (StatusCode status); |
|
|
|
/** |
|
* Subscribes to property events. |
|
* |
|
* Clients must be able to subscribe to multiple properties at a time |
|
* depending on data provided in options argument. |
|
* |
|
* @param listener This client must be called on appropriate event. |
|
* @param options List of options to subscribe. SubscribeOption contains |
|
* information such as property Id, area Id, sample rate, etc. |
|
*/ |
|
subscribe(IVehicleCallback callback, vec<SubscribeOptions> options) |
|
generates (StatusCode status); |
|
|
|
/** |
|
* Unsubscribes from property events. |
|
* |
|
* If this client wasn't subscribed to the given property, this method |
|
* must return StatusCode::INVALID_ARG. |
|
*/ |
|
unsubscribe(IVehicleCallback callback, int32_t propId) |
|
generates (StatusCode status); |
|
|
|
/** |
|
* Print out debugging state for the vehicle hal. |
|
* |
|
* The text must be in ASCII encoding only. |
|
* |
|
* Performance requirements: |
|
* |
|
* The HAL must return from this call in less than 10ms. This call must avoid |
|
* deadlocks, as it may be called at any point of operation. Any synchronization |
|
* primitives used (such as mutex locks or semaphores) must be acquired |
|
* with a timeout. |
|
* |
|
*/ |
|
debugDump() generates (string s); |
|
};
|
|
|