mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
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
This commit is contained in:
committed by
Steven Moreland
parent
c07a66e169
commit
4b34843cfb
@@ -68,6 +68,11 @@ interface IBaz extends IBase {
|
||||
bitfield<BitField> bf;
|
||||
};
|
||||
|
||||
struct MyHandle {
|
||||
handle h;
|
||||
int32_t guard;
|
||||
};
|
||||
|
||||
struct StructWithInterface {
|
||||
int32_t number;
|
||||
int8_t[7] array;
|
||||
|
||||
@@ -68,6 +68,14 @@ interface ISafeUnion {
|
||||
IOtherInterface c;
|
||||
string d;
|
||||
vec<string> e;
|
||||
handle f;
|
||||
vec<handle> g;
|
||||
};
|
||||
|
||||
safe_union HandleTypeSafeUnion {
|
||||
handle a;
|
||||
handle[5] b;
|
||||
vec<handle> c;
|
||||
};
|
||||
|
||||
newLargeSafeUnion() generates (LargeSafeUnion myUnion);
|
||||
@@ -90,4 +98,11 @@ interface ISafeUnion {
|
||||
setInterfaceC(InterfaceTypeSafeUnion myUnion, IOtherInterface c) generates (InterfaceTypeSafeUnion myUnion);
|
||||
setInterfaceD(InterfaceTypeSafeUnion myUnion, string d) generates (InterfaceTypeSafeUnion myUnion);
|
||||
setInterfaceE(InterfaceTypeSafeUnion myUnion, vec<string> e) generates (InterfaceTypeSafeUnion myUnion);
|
||||
setInterfaceF(InterfaceTypeSafeUnion myUnion, handle f) generates (InterfaceTypeSafeUnion myUnion);
|
||||
setInterfaceG(InterfaceTypeSafeUnion myUnion, vec<handle> g) generates (InterfaceTypeSafeUnion myUnion);
|
||||
|
||||
newHandleTypeSafeUnion() generates (HandleTypeSafeUnion myUnion);
|
||||
setHandleA(HandleTypeSafeUnion myUnion, handle a) generates (HandleTypeSafeUnion myUnion);
|
||||
setHandleB(HandleTypeSafeUnion myUnion, handle[5] b) generates (HandleTypeSafeUnion myUnion);
|
||||
setHandleC(HandleTypeSafeUnion myUnion, vec<handle> c) generates (HandleTypeSafeUnion myUnion);
|
||||
};
|
||||
|
||||
@@ -191,7 +191,8 @@ Return<void> SafeUnion::setInterfaceC(const InterfaceTypeSafeUnion& myUnion, con
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::setInterfaceD(const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) {
|
||||
Return<void> SafeUnion::setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d,
|
||||
setInterfaceD_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) setInterfaceD(myUnion, " << toString(d) << ")";
|
||||
|
||||
InterfaceTypeSafeUnion myNewUnion = myUnion;
|
||||
@@ -201,7 +202,8 @@ Return<void> SafeUnion::setInterfaceD(const ::android::hardware::tests::safeunio
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::setInterfaceE(const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) {
|
||||
Return<void> SafeUnion::setInterfaceE(const InterfaceTypeSafeUnion& myUnion,
|
||||
const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) setInterfaceE(myUnion, " << toString(e) << ")";
|
||||
|
||||
InterfaceTypeSafeUnion myNewUnion = myUnion;
|
||||
@@ -211,6 +213,70 @@ Return<void> SafeUnion::setInterfaceE(const ::android::hardware::tests::safeunio
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::setInterfaceF(const InterfaceTypeSafeUnion& myUnion, const hidl_handle& f,
|
||||
setInterfaceF_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) setInterfaceF(myUnion, " << toString(f) << ")";
|
||||
|
||||
InterfaceTypeSafeUnion myNewUnion = myUnion;
|
||||
myNewUnion.f(f);
|
||||
|
||||
_hidl_cb(myNewUnion);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::setInterfaceG(const InterfaceTypeSafeUnion& myUnion,
|
||||
const hidl_vec<hidl_handle>& g, setInterfaceG_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) setInterfaceG(myUnion, " << toString(g) << ")";
|
||||
|
||||
InterfaceTypeSafeUnion myNewUnion = myUnion;
|
||||
myNewUnion.g(g);
|
||||
|
||||
_hidl_cb(myNewUnion);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::newHandleTypeSafeUnion(newHandleTypeSafeUnion_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) newHandleTypeSafeUnion()";
|
||||
|
||||
HandleTypeSafeUnion ret;
|
||||
_hidl_cb(ret);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::setHandleA(
|
||||
const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::HandleTypeSafeUnion& myUnion,
|
||||
const hidl_handle& a, setHandleA_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) setHandleA(myUnion, " << toString(a) << ")";
|
||||
|
||||
HandleTypeSafeUnion myNewUnion = myUnion;
|
||||
myNewUnion.a(a);
|
||||
|
||||
_hidl_cb(myNewUnion);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::setHandleB(const HandleTypeSafeUnion& myUnion,
|
||||
const hidl_array<hidl_handle, 5>& b, setHandleB_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) setHandleB(myUnion, " << toString(b) << ")";
|
||||
|
||||
HandleTypeSafeUnion myNewUnion = myUnion;
|
||||
myNewUnion.b(b);
|
||||
|
||||
_hidl_cb(myNewUnion);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> SafeUnion::setHandleC(const HandleTypeSafeUnion& myUnion,
|
||||
const hidl_vec<hidl_handle>& c, setHandleC_cb _hidl_cb) {
|
||||
LOG(INFO) << "SERVER(SafeUnion) setHandleC(myUnion, " << toString(c) << ")";
|
||||
|
||||
HandleTypeSafeUnion myNewUnion = myUnion;
|
||||
myNewUnion.c(c);
|
||||
|
||||
_hidl_cb(myNewUnion);
|
||||
return Void();
|
||||
}
|
||||
|
||||
ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) {
|
||||
return new SafeUnion();
|
||||
}
|
||||
|
||||
@@ -54,6 +54,18 @@ struct SafeUnion : public ISafeUnion {
|
||||
Return<void> setInterfaceC(const InterfaceTypeSafeUnion& myUnion, const sp<::android::hardware::tests::safeunion::V1_0::IOtherInterface>& c, setInterfaceC_cb _hidl_cb) override;
|
||||
Return<void> setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) override;
|
||||
Return<void> setInterfaceE(const InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) override;
|
||||
Return<void> setInterfaceF(const InterfaceTypeSafeUnion& myUnion, const hidl_handle& f,
|
||||
setInterfaceF_cb _hidl_cb) override;
|
||||
Return<void> setInterfaceG(const InterfaceTypeSafeUnion& myUnion,
|
||||
const hidl_vec<hidl_handle>& g, setInterfaceG_cb _hidl_cb) override;
|
||||
|
||||
Return<void> newHandleTypeSafeUnion(newHandleTypeSafeUnion_cb _hidl_cb) override;
|
||||
Return<void> setHandleA(const HandleTypeSafeUnion& myUnion, const hidl_handle& a,
|
||||
setHandleA_cb _hidl_cb) override;
|
||||
Return<void> setHandleB(const HandleTypeSafeUnion& myUnion, const hidl_array<hidl_handle, 5>& b,
|
||||
setHandleB_cb _hidl_cb) override;
|
||||
Return<void> setHandleC(const HandleTypeSafeUnion& myUnion, const hidl_vec<hidl_handle>& c,
|
||||
setHandleC_cb _hidl_cb) override;
|
||||
};
|
||||
|
||||
extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name);
|
||||
|
||||
Reference in New Issue
Block a user