diff options
author | Steven Moreland <smoreland@google.com> | 2017-09-15 16:22:48 -0700 |
---|---|---|
committer | Steven Moreland <smoreland@google.com> | 2017-09-25 10:07:58 -0700 |
commit | ff189a023ccda656aa26f421c516f7feb9a138d1 (patch) | |
tree | 2389651b12b19379d82c1dfe7093ca162c5a8232 /transport/base | |
parent | 10618f3d4688b8b0c1f06054a9049b906d6159c3 (diff) | |
download | libhidl-ff189a023ccda656aa26f421c516f7feb9a138d1.tar.gz |
libhidladapter: Support for HIDL adapters
A HIDL adapter takes an x.(y+1) interface and registers
it as an x.y interface for testing.
This library allows someone or something to run an adapter.
Note: this requires b/62303973 to properly mock a lower interface version.
Note: this requires adapters to run as root to get around sepolicy.
Bug: 37518178
Test: can switch out implementations
~/android/master$ lshal | grep hidl.allocator
Y android.hidl.allocator@1.0::IAllocator/ashmem 0/1 652 471
~/android/master$ lshal | grep hidl.allocator
Y android.hidl.allocator@1.0::IAllocator/ashmem 0/1 7635 471
~/android/master$ lshal | grep hidl.allocator
Y android.hidl.allocator@1.0::IAllocator/ashmem 0/1 652 471
Change-Id: Ic72feb3a2fd4649e67b396c33b9a292e9c0a944a
Diffstat (limited to 'transport/base')
-rw-r--r-- | transport/base/1.0/Android.bp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/transport/base/1.0/Android.bp b/transport/base/1.0/Android.bp index 8382824..dd4a814 100644 --- a/transport/base/1.0/Android.bp +++ b/transport/base/1.0/Android.bp @@ -40,3 +40,71 @@ genrule { } // android.hidl.base@1.0 is exported from libhidltransport + +genrule { + name: "android.hidl.base@1.0-adapter-helper_genc++", + tools: ["hidl-gen"], + cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hidl:system/libhidl/transport android.hidl.base@1.0", + srcs: [ + ":android.hidl.base@1.0_hal", + ], + out: [ + "android/hidl/base/1.0/ABase.cpp", + ], +} + +genrule { + name: "android.hidl.base@1.0-adapter-helper_genc++_headers", + tools: ["hidl-gen"], + cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hidl:system/libhidl/transport android.hidl.base@1.0", + srcs: [ + ":android.hidl.base@1.0_hal", + ], + out: [ + "android/hidl/base/1.0/ABase.h", + ], +} + + +cc_library { + name: "android.hidl.base@1.0-adapter-helper", + defaults: ["hidl-module-defaults"], + generated_sources: ["android.hidl.base@1.0-adapter-helper_genc++"], + generated_headers: ["android.hidl.base@1.0-adapter-helper_genc++_headers"], + export_generated_headers: ["android.hidl.base@1.0-adapter-helper_genc++_headers"], + vendor_available: true, + shared_libs: [ + "libhidlbase", + "libhidltransport", + "libhwbinder", + "liblog", + "libutils", + "libcutils", + "libhidladapter", + ], + export_shared_lib_headers: [ + "libhidlbase", + "libhidltransport", + "libhwbinder", + "libutils", + "libhidladapter", + ], +} + +genrule { + name: "android.hidl.base@1.0-adapter_genc++", + tools: ["hidl-gen"], + cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hidl:system/libhidl/transport android.hidl.base@1.0", + out: ["main.cpp"]} + +cc_test { + name: "android.hidl.base@1.0-adapter", + shared_libs: [ + "libhidladapter", + "libhidlbase", + "libhidltransport", + "libutils", + "android.hidl.base@1.0-adapter-helper", + ], + generated_sources: ["android.hidl.base@1.0-adapter_genc++"], +} |