diff options
author | Nirav Atre | 2018-07-13 18:03:31 -0500 |
---|---|---|
committer | Nirav Atre | 2018-07-14 00:37:45 -0500 |
commit | 6a8d93f34e85af161a72a6b207128c0c4fb97e53 (patch) | |
tree | 413ccf41b8706527c437d70afe89c8dece615985 /tests | |
parent | f110ea4893f9d4adc6f62495b284bcb24f34046a (diff) | |
download | platform-hardware-interfaces-6a8d93f34e85af161a72a6b207128c0c4fb97e53.tar.gz platform-hardware-interfaces-6a8d93f34e85af161a72a6b207128c0c4fb97e53.tar.xz platform-hardware-interfaces-6a8d93f34e85af161a72a6b207128c0c4fb97e53.zip |
Updated HALs to test structs/safe_unions containing interfaces
Bug: 111019943
Test: Ran the hidl_test suite (C++ and Java)
Change-Id: I93e8fb9611327e263a02af8fccef1fc878746e02
Diffstat (limited to 'tests')
-rw-r--r-- | tests/baz/1.0/IBaz.hal | 3 | ||||
-rw-r--r-- | tests/safeunion/1.0/ISafeUnion.hal | 4 | ||||
-rw-r--r-- | tests/safeunion/1.0/default/SafeUnion.cpp | 20 | ||||
-rw-r--r-- | tests/safeunion/1.0/default/SafeUnion.h | 2 |
4 files changed, 29 insertions, 0 deletions
diff --git a/tests/baz/1.0/IBaz.hal b/tests/baz/1.0/IBaz.hal index 9a9e7545..00fe5686 100644 --- a/tests/baz/1.0/IBaz.hal +++ b/tests/baz/1.0/IBaz.hal | |||
@@ -70,6 +70,9 @@ interface IBaz extends IBase { | |||
70 | 70 | ||
71 | struct StructWithInterface { | 71 | struct StructWithInterface { |
72 | int32_t number; | 72 | int32_t number; |
73 | int8_t[7] array; | ||
74 | string oneString; | ||
75 | vec<string> vectorOfStrings; | ||
73 | IBase dummy; | 76 | IBase dummy; |
74 | }; | 77 | }; |
75 | oneway doThis(float param); | 78 | oneway doThis(float param); |
diff --git a/tests/safeunion/1.0/ISafeUnion.hal b/tests/safeunion/1.0/ISafeUnion.hal index fedd63b8..e56022f4 100644 --- a/tests/safeunion/1.0/ISafeUnion.hal +++ b/tests/safeunion/1.0/ISafeUnion.hal | |||
@@ -66,6 +66,8 @@ interface ISafeUnion { | |||
66 | uint32_t a; | 66 | uint32_t a; |
67 | int8_t[7] b; | 67 | int8_t[7] b; |
68 | IOtherInterface c; | 68 | IOtherInterface c; |
69 | string d; | ||
70 | vec<string> e; | ||
69 | }; | 71 | }; |
70 | 72 | ||
71 | newLargeSafeUnion() generates (LargeSafeUnion myUnion); | 73 | newLargeSafeUnion() generates (LargeSafeUnion myUnion); |
@@ -86,4 +88,6 @@ interface ISafeUnion { | |||
86 | setInterfaceA(InterfaceTypeSafeUnion myUnion, uint32_t a) generates (InterfaceTypeSafeUnion myUnion); | 88 | setInterfaceA(InterfaceTypeSafeUnion myUnion, uint32_t a) generates (InterfaceTypeSafeUnion myUnion); |
87 | setInterfaceB(InterfaceTypeSafeUnion myUnion, int8_t[7] b) generates (InterfaceTypeSafeUnion myUnion); | 89 | setInterfaceB(InterfaceTypeSafeUnion myUnion, int8_t[7] b) generates (InterfaceTypeSafeUnion myUnion); |
88 | setInterfaceC(InterfaceTypeSafeUnion myUnion, IOtherInterface c) generates (InterfaceTypeSafeUnion myUnion); | 90 | setInterfaceC(InterfaceTypeSafeUnion myUnion, IOtherInterface c) generates (InterfaceTypeSafeUnion myUnion); |
91 | setInterfaceD(InterfaceTypeSafeUnion myUnion, string d) generates (InterfaceTypeSafeUnion myUnion); | ||
92 | setInterfaceE(InterfaceTypeSafeUnion myUnion, vec<string> e) generates (InterfaceTypeSafeUnion myUnion); | ||
89 | }; | 93 | }; |
diff --git a/tests/safeunion/1.0/default/SafeUnion.cpp b/tests/safeunion/1.0/default/SafeUnion.cpp index 7047d161..11b2e367 100644 --- a/tests/safeunion/1.0/default/SafeUnion.cpp +++ b/tests/safeunion/1.0/default/SafeUnion.cpp | |||
@@ -191,6 +191,26 @@ Return<void> SafeUnion::setInterfaceC(const InterfaceTypeSafeUnion& myUnion, con | |||
191 | return Void(); | 191 | return Void(); |
192 | } | 192 | } |
193 | 193 | ||
194 | Return<void> SafeUnion::setInterfaceD(const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) { | ||
195 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceD(myUnion, " << toString(d) << ")"; | ||
196 | |||
197 | InterfaceTypeSafeUnion myNewUnion = myUnion; | ||
198 | myNewUnion.d(d); | ||
199 | |||
200 | _hidl_cb(myNewUnion); | ||
201 | return Void(); | ||
202 | } | ||
203 | |||
204 | Return<void> SafeUnion::setInterfaceE(const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) { | ||
205 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceE(myUnion, " << toString(e) << ")"; | ||
206 | |||
207 | InterfaceTypeSafeUnion myNewUnion = myUnion; | ||
208 | myNewUnion.e(e); | ||
209 | |||
210 | _hidl_cb(myNewUnion); | ||
211 | return Void(); | ||
212 | } | ||
213 | |||
194 | ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) { | 214 | ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) { |
195 | return new SafeUnion(); | 215 | return new SafeUnion(); |
196 | } | 216 | } |
diff --git a/tests/safeunion/1.0/default/SafeUnion.h b/tests/safeunion/1.0/default/SafeUnion.h index 07d88d23..e900fcec 100644 --- a/tests/safeunion/1.0/default/SafeUnion.h +++ b/tests/safeunion/1.0/default/SafeUnion.h | |||
@@ -52,6 +52,8 @@ struct SafeUnion : public ISafeUnion { | |||
52 | Return<void> setInterfaceA(const InterfaceTypeSafeUnion& myUnion, uint32_t a, setInterfaceA_cb _hidl_cb) override; | 52 | Return<void> setInterfaceA(const InterfaceTypeSafeUnion& myUnion, uint32_t a, setInterfaceA_cb _hidl_cb) override; |
53 | Return<void> setInterfaceB(const InterfaceTypeSafeUnion& myUnion, const hidl_array<int8_t, 7>& b, setInterfaceB_cb _hidl_cb) override; | 53 | Return<void> setInterfaceB(const InterfaceTypeSafeUnion& myUnion, const hidl_array<int8_t, 7>& b, setInterfaceB_cb _hidl_cb) override; |
54 | Return<void> setInterfaceC(const InterfaceTypeSafeUnion& myUnion, const sp<::android::hardware::tests::safeunion::V1_0::IOtherInterface>& c, setInterfaceC_cb _hidl_cb) override; | 54 | Return<void> setInterfaceC(const InterfaceTypeSafeUnion& myUnion, const sp<::android::hardware::tests::safeunion::V1_0::IOtherInterface>& c, setInterfaceC_cb _hidl_cb) override; |
55 | Return<void> setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) override; | ||
56 | Return<void> setInterfaceE(const InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) override; | ||
55 | }; | 57 | }; |
56 | 58 | ||
57 | extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name); | 59 | extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name); |