برای انتقال یک پیاده سازی HIDL VHAL موجود به یک AIDL VHAL، از ساختار پیاده سازی مرجع AIDL برای پیاده سازی رابط IVehicleHardware
استفاده کنید.
اگر پیاده سازی HIDL موجود نیز به دنبال داشته باشد پیاده سازی مرجع HIDL ، فروشنده کلاس هنگام مهاجرت از HIDL VHAL به AIDL VHAL، این تفاوت ها را در نظر بگیرید. در نتیجه، شما باید تمام فایل های هدر را برای انواع مورد نیاز خود قرار دهید. یک فایل کمکی به نام محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند. تاریخ آخرین بهروزرسانی 2024-09-05 بهوقت ساعت هماهنگ جهانی.VehicleHal
را پیاده سازی کرده است. IVehicleHardware
بسیار شبیه VehicleHal
است. HIDL VHAL AIDL VHAL getAllPropertyConfigs()
مانند VehicleHal.listProperties()
getValues(callback, requests)
می تواند برای هر درخواست VehicleHal.get()
را فراخوانی کند و می تواند callbacks را فراخوانی کند. 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
تعریف شده است و باید به جای enum به عنوان یک پرچم تعریف شود. یک فیلد پرچم کاربر یک عدد صحیح است که دارای چند بیت UserInfo.USER_FLAG_XXX
با هم است.RawValue
در VehiclePropValue
به RawPropValue
تغییر نام دادbytes
در RawValue
به byteValues
تغییر نام داده می شوند