diff options
author | Nirav Atre | 2018-07-26 23:24:32 -0500 |
---|---|---|
committer | Steven Moreland | 2018-08-10 16:46:45 -0500 |
commit | 4b34843cfb82a306b2e3e368ded44e8c141893fd (patch) | |
tree | 8be33824da2b66a7808b02d3591053b93c8f0518 /tests | |
parent | c07a66e169bc8b5a2bebe209c48bf27a553084ce (diff) | |
download | platform-hardware-interfaces-4b34843cfb82a306b2e3e368ded44e8c141893fd.tar.gz platform-hardware-interfaces-4b34843cfb82a306b2e3e368ded44e8c141893fd.tar.xz platform-hardware-interfaces-4b34843cfb82a306b2e3e368ded44e8c141893fd.zip |
Adding handle types to Java-compatible test HALs
This change adds HIDL handle types to the baz@1.0 and safeunion@1.0 test
HALs to exercise native handles in Java.
Bug: 35098567
Test: Ran the hidl_test (C++ and Java) suites
Change-Id: Iddf1c269cbdc68ce337f1e787570f3810f7baad2
Diffstat (limited to 'tests')
-rw-r--r-- | tests/baz/1.0/IBaz.hal | 5 | ||||
-rw-r--r-- | tests/safeunion/1.0/ISafeUnion.hal | 15 | ||||
-rw-r--r-- | tests/safeunion/1.0/default/SafeUnion.cpp | 70 | ||||
-rw-r--r-- | tests/safeunion/1.0/default/SafeUnion.h | 12 |
4 files changed, 100 insertions, 2 deletions
diff --git a/tests/baz/1.0/IBaz.hal b/tests/baz/1.0/IBaz.hal index 00fe5686..8118d8bf 100644 --- a/tests/baz/1.0/IBaz.hal +++ b/tests/baz/1.0/IBaz.hal | |||
@@ -68,6 +68,11 @@ interface IBaz extends IBase { | |||
68 | bitfield<BitField> bf; | 68 | bitfield<BitField> bf; |
69 | }; | 69 | }; |
70 | 70 | ||
71 | struct MyHandle { | ||
72 | handle h; | ||
73 | int32_t guard; | ||
74 | }; | ||
75 | |||
71 | struct StructWithInterface { | 76 | struct StructWithInterface { |
72 | int32_t number; | 77 | int32_t number; |
73 | int8_t[7] array; | 78 | int8_t[7] array; |
diff --git a/tests/safeunion/1.0/ISafeUnion.hal b/tests/safeunion/1.0/ISafeUnion.hal index e56022f4..c38777a9 100644 --- a/tests/safeunion/1.0/ISafeUnion.hal +++ b/tests/safeunion/1.0/ISafeUnion.hal | |||
@@ -68,6 +68,14 @@ interface ISafeUnion { | |||
68 | IOtherInterface c; | 68 | IOtherInterface c; |
69 | string d; | 69 | string d; |
70 | vec<string> e; | 70 | vec<string> e; |
71 | handle f; | ||
72 | vec<handle> g; | ||
73 | }; | ||
74 | |||
75 | safe_union HandleTypeSafeUnion { | ||
76 | handle a; | ||
77 | handle[5] b; | ||
78 | vec<handle> c; | ||
71 | }; | 79 | }; |
72 | 80 | ||
73 | newLargeSafeUnion() generates (LargeSafeUnion myUnion); | 81 | newLargeSafeUnion() generates (LargeSafeUnion myUnion); |
@@ -90,4 +98,11 @@ interface ISafeUnion { | |||
90 | setInterfaceC(InterfaceTypeSafeUnion myUnion, IOtherInterface c) generates (InterfaceTypeSafeUnion myUnion); | 98 | setInterfaceC(InterfaceTypeSafeUnion myUnion, IOtherInterface c) generates (InterfaceTypeSafeUnion myUnion); |
91 | setInterfaceD(InterfaceTypeSafeUnion myUnion, string d) generates (InterfaceTypeSafeUnion myUnion); | 99 | setInterfaceD(InterfaceTypeSafeUnion myUnion, string d) generates (InterfaceTypeSafeUnion myUnion); |
92 | setInterfaceE(InterfaceTypeSafeUnion myUnion, vec<string> e) generates (InterfaceTypeSafeUnion myUnion); | 100 | setInterfaceE(InterfaceTypeSafeUnion myUnion, vec<string> e) generates (InterfaceTypeSafeUnion myUnion); |
101 | setInterfaceF(InterfaceTypeSafeUnion myUnion, handle f) generates (InterfaceTypeSafeUnion myUnion); | ||
102 | setInterfaceG(InterfaceTypeSafeUnion myUnion, vec<handle> g) generates (InterfaceTypeSafeUnion myUnion); | ||
103 | |||
104 | newHandleTypeSafeUnion() generates (HandleTypeSafeUnion myUnion); | ||
105 | setHandleA(HandleTypeSafeUnion myUnion, handle a) generates (HandleTypeSafeUnion myUnion); | ||
106 | setHandleB(HandleTypeSafeUnion myUnion, handle[5] b) generates (HandleTypeSafeUnion myUnion); | ||
107 | setHandleC(HandleTypeSafeUnion myUnion, vec<handle> c) generates (HandleTypeSafeUnion myUnion); | ||
93 | }; | 108 | }; |
diff --git a/tests/safeunion/1.0/default/SafeUnion.cpp b/tests/safeunion/1.0/default/SafeUnion.cpp index 11b2e367..c3956641 100644 --- a/tests/safeunion/1.0/default/SafeUnion.cpp +++ b/tests/safeunion/1.0/default/SafeUnion.cpp | |||
@@ -191,7 +191,8 @@ 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) { | 194 | Return<void> SafeUnion::setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d, |
195 | setInterfaceD_cb _hidl_cb) { | ||
195 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceD(myUnion, " << toString(d) << ")"; | 196 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceD(myUnion, " << toString(d) << ")"; |
196 | 197 | ||
197 | InterfaceTypeSafeUnion myNewUnion = myUnion; | 198 | InterfaceTypeSafeUnion myNewUnion = myUnion; |
@@ -201,7 +202,8 @@ Return<void> SafeUnion::setInterfaceD(const ::android::hardware::tests::safeunio | |||
201 | return Void(); | 202 | return Void(); |
202 | } | 203 | } |
203 | 204 | ||
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 | Return<void> SafeUnion::setInterfaceE(const InterfaceTypeSafeUnion& myUnion, |
206 | const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) { | ||
205 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceE(myUnion, " << toString(e) << ")"; | 207 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceE(myUnion, " << toString(e) << ")"; |
206 | 208 | ||
207 | InterfaceTypeSafeUnion myNewUnion = myUnion; | 209 | InterfaceTypeSafeUnion myNewUnion = myUnion; |
@@ -211,6 +213,70 @@ Return<void> SafeUnion::setInterfaceE(const ::android::hardware::tests::safeunio | |||
211 | return Void(); | 213 | return Void(); |
212 | } | 214 | } |
213 | 215 | ||
216 | Return<void> SafeUnion::setInterfaceF(const InterfaceTypeSafeUnion& myUnion, const hidl_handle& f, | ||
217 | setInterfaceF_cb _hidl_cb) { | ||
218 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceF(myUnion, " << toString(f) << ")"; | ||
219 | |||
220 | InterfaceTypeSafeUnion myNewUnion = myUnion; | ||
221 | myNewUnion.f(f); | ||
222 | |||
223 | _hidl_cb(myNewUnion); | ||
224 | return Void(); | ||
225 | } | ||
226 | |||
227 | Return<void> SafeUnion::setInterfaceG(const InterfaceTypeSafeUnion& myUnion, | ||
228 | const hidl_vec<hidl_handle>& g, setInterfaceG_cb _hidl_cb) { | ||
229 | LOG(INFO) << "SERVER(SafeUnion) setInterfaceG(myUnion, " << toString(g) << ")"; | ||
230 | |||
231 | InterfaceTypeSafeUnion myNewUnion = myUnion; | ||
232 | myNewUnion.g(g); | ||
233 | |||
234 | _hidl_cb(myNewUnion); | ||
235 | return Void(); | ||
236 | } | ||
237 | |||
238 | Return<void> SafeUnion::newHandleTypeSafeUnion(newHandleTypeSafeUnion_cb _hidl_cb) { | ||
239 | LOG(INFO) << "SERVER(SafeUnion) newHandleTypeSafeUnion()"; | ||
240 | |||
241 | HandleTypeSafeUnion ret; | ||
242 | _hidl_cb(ret); | ||
243 | return Void(); | ||
244 | } | ||
245 | |||
246 | Return<void> SafeUnion::setHandleA( | ||
247 | const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::HandleTypeSafeUnion& myUnion, | ||
248 | const hidl_handle& a, setHandleA_cb _hidl_cb) { | ||
249 | LOG(INFO) << "SERVER(SafeUnion) setHandleA(myUnion, " << toString(a) << ")"; | ||
250 | |||
251 | HandleTypeSafeUnion myNewUnion = myUnion; | ||
252 | myNewUnion.a(a); | ||
253 | |||
254 | _hidl_cb(myNewUnion); | ||
255 | return Void(); | ||
256 | } | ||
257 | |||
258 | Return<void> SafeUnion::setHandleB(const HandleTypeSafeUnion& myUnion, | ||
259 | const hidl_array<hidl_handle, 5>& b, setHandleB_cb _hidl_cb) { | ||
260 | LOG(INFO) << "SERVER(SafeUnion) setHandleB(myUnion, " << toString(b) << ")"; | ||
261 | |||
262 | HandleTypeSafeUnion myNewUnion = myUnion; | ||
263 | myNewUnion.b(b); | ||
264 | |||
265 | _hidl_cb(myNewUnion); | ||
266 | return Void(); | ||
267 | } | ||
268 | |||
269 | Return<void> SafeUnion::setHandleC(const HandleTypeSafeUnion& myUnion, | ||
270 | const hidl_vec<hidl_handle>& c, setHandleC_cb _hidl_cb) { | ||
271 | LOG(INFO) << "SERVER(SafeUnion) setHandleC(myUnion, " << toString(c) << ")"; | ||
272 | |||
273 | HandleTypeSafeUnion myNewUnion = myUnion; | ||
274 | myNewUnion.c(c); | ||
275 | |||
276 | _hidl_cb(myNewUnion); | ||
277 | return Void(); | ||
278 | } | ||
279 | |||
214 | ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) { | 280 | ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) { |
215 | return new SafeUnion(); | 281 | return new SafeUnion(); |
216 | } | 282 | } |
diff --git a/tests/safeunion/1.0/default/SafeUnion.h b/tests/safeunion/1.0/default/SafeUnion.h index e900fcec..e774e098 100644 --- a/tests/safeunion/1.0/default/SafeUnion.h +++ b/tests/safeunion/1.0/default/SafeUnion.h | |||
@@ -54,6 +54,18 @@ struct SafeUnion : public ISafeUnion { | |||
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; | 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; | 56 | Return<void> setInterfaceE(const InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) override; |
57 | Return<void> setInterfaceF(const InterfaceTypeSafeUnion& myUnion, const hidl_handle& f, | ||
58 | setInterfaceF_cb _hidl_cb) override; | ||
59 | Return<void> setInterfaceG(const InterfaceTypeSafeUnion& myUnion, | ||
60 | const hidl_vec<hidl_handle>& g, setInterfaceG_cb _hidl_cb) override; | ||
61 | |||
62 | Return<void> newHandleTypeSafeUnion(newHandleTypeSafeUnion_cb _hidl_cb) override; | ||
63 | Return<void> setHandleA(const HandleTypeSafeUnion& myUnion, const hidl_handle& a, | ||
64 | setHandleA_cb _hidl_cb) override; | ||
65 | Return<void> setHandleB(const HandleTypeSafeUnion& myUnion, const hidl_array<hidl_handle, 5>& b, | ||
66 | setHandleB_cb _hidl_cb) override; | ||
67 | Return<void> setHandleC(const HandleTypeSafeUnion& myUnion, const hidl_vec<hidl_handle>& c, | ||
68 | setHandleC_cb _hidl_cb) override; | ||
57 | }; | 69 | }; |
58 | 70 | ||
59 | extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name); | 71 | extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name); |