Чтобы перенести существующую реализацию HIDL VHAL в AIDL VHAL, используйте эталонную структуру реализации AIDL для реализации интерфейса IVehicleHardware
.
Если существующая реализация HIDL также следует Эталонная реализация HIDL , поставщик реализовал класс При переходе с HIDL VHAL на AIDL VHAL учитывайте эти различия. В результате вы должны включить все файлы заголовков нужных вам типов. Вспомогательный файл Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц. Последнее обновление: 2024-11-17 UTC.VehicleHal
. IVehicleHardware
очень похож на VehicleHal
. ХИДЛ ВХАЛ АИДЛ ВХАЛ getAllPropertyConfigs()
То же, что и VehicleHal.listProperties()
getValues(callback, requests)
Может вызывать VehicleHal.get()
для каждого запроса и вызывать обратные вызовы. dump()
То же, что и VehicleHal.dump()
checkHealth()
Может возвращать VehicleHal.get()
registerPropertyChangeCallback()
Аналогично настройке VehicleHal.mOnHalEvent
Различия типов в AIDL
types.h
) для всех типов, сгенерированных из types.hal
. AIDL генерирует один файл заголовка для каждого типа. Например, VehiclePropValue.h
из VehiclePropValue.aidl
.VehicleHalTypes.h
в библиотеке VehicleHalUtils
содержит большинство распространенных типов. Вместо ... Использовать hidl_vec
std::vector
hidl_string
std::string
android::sp
std::shared_ptr
android::wp
std::weak_ptr
types.hal
одинаковы в AIDL, за исключением :SubscribeFlags
удален, поскольку он не используется, поскольку удален onPropertySet
UserFlags
теперь определен в UserInfo.aidl
и должен определяться как флаг, а не как перечисление. Поле пользовательского флага представляет собой целое число, содержащее несколько битов UserInfo.USER_FLAG_XXX
или вместе.RawValue
в VehiclePropValue
переименован в RawPropValue
bytes
в RawValue
переименованы в byteValues