summaryrefslogtreecommitdiff
path: root/emulator/vhal_v2_0/interfaces/aidl/device/generic/car/emulator/IVehicleBus.aidl
blob: ed06d9647cfee00b56a0c5fdcab4b29b7e1ac23e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package device.generic.car.emulator;

import device.generic.car.emulator.IVehicleBusCallback;

/**
 * IVehicleBus provides generic interface for various bus interpreters
 * (emulated/virtual/physical/etc) to connect to Emulator VHAL and provides
 * VehiclePropValue update as if it were generated from real car.
 *
 * This separates bus implementation details from emulator. For example,
 * hard-coded rotary controller vendor specific key mapping can separately
 * run as a service, allowing emulator to be spinned separately from the
 * particular hardware of interest to be tested at the time.
 */

import android.hardware.automotive.vehicle.VehiclePropValue;

@VintfStability
interface IVehicleBus {
    /**
     * Sets a callback function for whenever new property value is generated
     * from the bus. Calling this function twice will result in error. To
     * change callback function, call unset function first.
     */
    void setOnNewPropValuesCallback(IVehicleBusCallback callback);

    /**
     * Unregisters a callback function that is currently active. Expected to
     * receive the same Callback that was used to set for successful unset.
     */
    void unsetOnNewPropValuesCallback(IVehicleBusCallback callback);
}