لترحيل تطبيق HIDL VHAL موجود إلى AIDL VHAL، استخدم بنية تطبيق مرجع AIDL لتطبيق واجهة IVehicleHardware
.
إذا كان تطبيق HIDL الحالي يتبع أيضًا تطبيق مرجع HIDL ، قام البائع بتطبيق فئة عند الترحيل من HIDL VHAL إلى AIDL VHAL، ضع في اعتبارك هذه الاختلافات. ونتيجة لذلك، يجب عليك تضمين كافة ملفات الرأس للأنواع التي تحتاج إليها. يحتوي الملف المساعد، يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها. تاريخ التعديل الأخير: 2024-04-29 (حسب التوقيت العالمي المتفَّق عليه)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