मौजूदा HIDL VHAL कार्यान्वयन को AIDL VHAL में स्थानांतरित करने के लिए, IVehicleHardware
इंटरफ़ेस को लागू करने के लिए AIDL संदर्भ कार्यान्वयन संरचना का उपयोग करें।
यदि मौजूदा HIDL कार्यान्वयन भी अनुसरण करता है एचआईडीएल संदर्भ कार्यान्वयन , विक्रेता ने HIDL VHAL से AIDL VHAL में माइग्रेट करते समय, इन अंतरों पर विचार करें। परिणामस्वरूप, आपको आवश्यक प्रकारों के लिए सभी हेडर फ़ाइलें शामिल करनी होंगी। इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं. आखिरी बार 2024-04-29 (UTC) को अपडेट किया गया.VehicleHal
वर्ग लागू किया है। IVehicleHardware
VehicleHal
से काफी मिलता-जुलता है। हिडल वीएचएएल सहायता VHAL getAllPropertyConfigs()
VehicleHal.listProperties()
के समान getValues(callback, requests)
प्रत्येक अनुरोध के लिए VehicleHal.get()
कॉल कर सकते हैं और कॉलबैक को कॉल कर सकते हैं। dump()
VehicleHal.dump()
के समान checkHealth()
VehicleHal.get()
वापस कर सकते हैं registerPropertyChangeCallback()
VehicleHal.mOnHalEvent
सेट करने के समान एआईडीएल में प्रकार के अंतर
types.hal
से उत्पन्न सभी प्रकारों के लिए एक हेडर फ़ाइल ( types.h
) उत्पन्न करता है। एआईडीएल प्रत्येक प्रकार के लिए एक हेडर फ़ाइल तैयार करता है। उदाहरण के लिए, VehiclePropValue.h
से VehiclePropValue.aidl
।VehicleHalUtils
लाइब्रेरी में एक सहायक फ़ाइल, VehicleHalTypes.h
में अधिकांश सामान्य प्रकार शामिल हैं। के बजाय ... उपयोग hidl_vec
std::vector
hidl_string
std::string
android::sp
std::shared_ptr
android::wp
std::weak_ptr
types.hal
में परिभाषित सभी प्रकार एआईडीएल में समान हैं, सिवाय इसके:SubscribeFlags
हटा दिया गया है क्योंकि इसका उपयोग नहीं किया गया है क्योंकि onPropertySet
हटा दिया गया हैUserFlags
अब UserInfo.aidl
में परिभाषित किया गया है और इसे एक एनम के बजाय एक ध्वज के रूप में परिभाषित किया जाना चाहिए। उपयोगकर्ता ध्वज फ़ील्ड एक पूर्णांक है जिसमें एकाधिक UserInfo.USER_FLAG_XXX
बिट-या एक साथ होते हैं।VehiclePropValue
में RawValue
नाम बदलकर RawPropValue
कर दिया गया हैRawValue
में bytes
नाम बदलकर byteValues
कर दिया गया है