diff options
author | Steven Moreland <smoreland@google.com> | 2018-09-13 16:05:44 -0700 |
---|---|---|
committer | Steven Moreland <smoreland@google.com> | 2018-09-13 16:38:25 -0700 |
commit | 429faabc7379e8cc60be4d97d260df09114553b6 (patch) | |
tree | 8f709a6217e4e2a1121d23ae9a73df35553f081c /tests | |
parent | e1ca153525a1f78ea91780e3d8f9bbadfd426748 (diff) | |
download | android_hardware_interfaces-429faabc7379e8cc60be4d97d260df09114553b6.tar.gz android_hardware_interfaces-429faabc7379e8cc60be4d97d260df09114553b6.tar.bz2 android_hardware_interfaces-429faabc7379e8cc60be4d97d260df09114553b6.zip |
ISafeUnion: add case w/ enum
Bug: 115638948
Test: hidl_test
Test: hidl_test_java
Change-Id: I26b5cc25bd29c420160686b5572a005a7629784c
Diffstat (limited to 'tests')
-rw-r--r-- | tests/safeunion/1.0/ISafeUnion.hal | 5 | ||||
-rw-r--r-- | tests/safeunion/1.0/default/SafeUnion.cpp | 21 | ||||
-rw-r--r-- | tests/safeunion/1.0/default/SafeUnion.h | 3 |
3 files changed, 29 insertions, 0 deletions
diff --git a/tests/safeunion/1.0/ISafeUnion.hal b/tests/safeunion/1.0/ISafeUnion.hal index c38777a9b..f48248b51 100644 --- a/tests/safeunion/1.0/ISafeUnion.hal +++ b/tests/safeunion/1.0/ISafeUnion.hal @@ -60,6 +60,9 @@ interface ISafeUnion { } k; SmallSafeUnion l; + + BitField m; + bitfield<BitField> n; }; safe_union InterfaceTypeSafeUnion { @@ -91,6 +94,8 @@ interface ISafeUnion { setJ(LargeSafeUnion myUnion, J j) generates (LargeSafeUnion myUnion); setK(LargeSafeUnion myUnion, LargeSafeUnion.K k) generates (LargeSafeUnion myUnion); setL(LargeSafeUnion myUnion, SmallSafeUnion l) generates (LargeSafeUnion myUnion); + setM(LargeSafeUnion myUnion, BitField m) generates (LargeSafeUnion myUnion); + setN(LargeSafeUnion myUnion, bitfield<BitField> m) generates (LargeSafeUnion myUnion); newInterfaceTypeSafeUnion() generates (InterfaceTypeSafeUnion myUnion); setInterfaceA(InterfaceTypeSafeUnion myUnion, uint32_t a) generates (InterfaceTypeSafeUnion myUnion); diff --git a/tests/safeunion/1.0/default/SafeUnion.cpp b/tests/safeunion/1.0/default/SafeUnion.cpp index c39566412..4fb097401 100644 --- a/tests/safeunion/1.0/default/SafeUnion.cpp +++ b/tests/safeunion/1.0/default/SafeUnion.cpp @@ -153,6 +153,27 @@ Return<void> SafeUnion::setL(const LargeSafeUnion& myUnion, const SmallSafeUnion return Void(); } +Return<void> SafeUnion::setM(const LargeSafeUnion& myUnion, BitField m, setL_cb _hidl_cb) { + LOG(INFO) << "SERVER(SafeUnion) setM(myUnion, " << toString(m) << ")"; + + LargeSafeUnion myNewUnion = myUnion; + myNewUnion.m(m); + + _hidl_cb(myNewUnion); + return Void(); +} + +Return<void> SafeUnion::setN(const LargeSafeUnion& myUnion, hidl_bitfield<BitField> n, + setL_cb _hidl_cb) { + LOG(INFO) << "SERVER(SafeUnion) setN(myUnion, " << n << ")"; + + LargeSafeUnion myNewUnion = myUnion; + myNewUnion.n(n); + + _hidl_cb(myNewUnion); + return Void(); +} + Return<void> SafeUnion::newInterfaceTypeSafeUnion(newInterfaceTypeSafeUnion_cb _hidl_cb) { LOG(INFO) << "SERVER(SafeUnion) newInterfaceTypeSafeUnion()"; diff --git a/tests/safeunion/1.0/default/SafeUnion.h b/tests/safeunion/1.0/default/SafeUnion.h index e774e0985..ee3a95400 100644 --- a/tests/safeunion/1.0/default/SafeUnion.h +++ b/tests/safeunion/1.0/default/SafeUnion.h @@ -47,6 +47,9 @@ struct SafeUnion : public ISafeUnion { Return<void> setJ(const LargeSafeUnion& myUnion, const J& j, setJ_cb _hidl_cb) override; Return<void> setK(const LargeSafeUnion& myUnion, const LargeSafeUnion::K& k, setK_cb _hidl_cb) override; Return<void> setL(const LargeSafeUnion& myUnion, const SmallSafeUnion& l, setL_cb _hidl_cb) override; + Return<void> setM(const LargeSafeUnion& myUnion, BitField m, setL_cb _hidl_cb) override; + Return<void> setN(const LargeSafeUnion& myUnion, hidl_bitfield<BitField> n, + setL_cb _hidl_cb) override; Return<void> newInterfaceTypeSafeUnion(newInterfaceTypeSafeUnion_cb _hidl_cb) override; Return<void> setInterfaceA(const InterfaceTypeSafeUnion& myUnion, uint32_t a, setInterfaceA_cb _hidl_cb) override; |