summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNirav Atre2018-07-16 19:16:02 -0500
committerandroid-build-merger2018-07-16 19:16:02 -0500
commit1233e0a7eb21d36220d1e3c6cbd1dbf6881e9e99 (patch)
tree8a2c83fce6ecb7a786b3152e6a6f89f6e85f85cf /tests
parent7151988f6258bf2db7360639f35211f8ae9db9e8 (diff)
parent76b383d5c2f5ec50f7102aca6700ced8bcb05601 (diff)
downloadplatform-hardware-interfaces-1233e0a7eb21d36220d1e3c6cbd1dbf6881e9e99.tar.gz
platform-hardware-interfaces-1233e0a7eb21d36220d1e3c6cbd1dbf6881e9e99.tar.xz
platform-hardware-interfaces-1233e0a7eb21d36220d1e3c6cbd1dbf6881e9e99.zip
Merge "Updated HALs to test structs/safe_unions containing interfaces"
am: 76b383d5c2 Change-Id: Idbf119111f9d3a1e916b4753bc68aec35638a275
Diffstat (limited to 'tests')
-rw-r--r--tests/baz/1.0/IBaz.hal3
-rw-r--r--tests/safeunion/1.0/ISafeUnion.hal4
-rw-r--r--tests/safeunion/1.0/default/SafeUnion.cpp20
-rw-r--r--tests/safeunion/1.0/default/SafeUnion.h2
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
194Return<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
204Return<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
194ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) { 214ISafeUnion* 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
57extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name); 59extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name);