summaryrefslogtreecommitdiff
path: root/transport/base
diff options
context:
space:
mode:
authorSteven Moreland <smoreland@google.com>2017-09-15 16:22:48 -0700
committerSteven Moreland <smoreland@google.com>2017-09-25 10:07:58 -0700
commitff189a023ccda656aa26f421c516f7feb9a138d1 (patch)
tree2389651b12b19379d82c1dfe7093ca162c5a8232 /transport/base
parent10618f3d4688b8b0c1f06054a9049b906d6159c3 (diff)
downloadlibhidl-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.bp68
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++"],
+}