diff --git a/tests/bar/1.0/IBar.hal b/tests/bar/1.0/IBar.hal index b57d9a079e..82c6fc1e87 100644 --- a/tests/bar/1.0/IBar.hal +++ b/tests/bar/1.0/IBar.hal @@ -17,6 +17,7 @@ package android.hardware.tests.bar@1.0; import android.hardware.tests.foo@1.0::IFoo; +import android.hardware.tests.foo@1.0::Abc; import android.hardware.tests.foo@1.0::Unrelated; interface IBar extends android.hardware.tests.foo@1.0::IFoo { @@ -29,4 +30,5 @@ interface IBar extends android.hardware.tests.foo@1.0::IFoo { }; thisIsNew(); + expectNullHandle(handle h, Abc xyz) generates (bool hIsNull, bool xyzHasNull); }; diff --git a/tests/bar/1.0/default/Bar.cpp b/tests/bar/1.0/default/Bar.cpp index 0257ee0b0e..4ff9e6bdf2 100644 --- a/tests/bar/1.0/default/Bar.cpp +++ b/tests/bar/1.0/default/Bar.cpp @@ -153,6 +153,12 @@ Return Bar::thisIsNew() { return Void(); } +Return Bar::expectNullHandle(const native_handle_t* h, const Abc& xyz, expectNullHandle_cb _hidl_cb) { + ALOGI("SERVER(Bar) h = %p, xyz.z = %p", h, xyz.z); + _hidl_cb(h == nullptr, xyz.z == nullptr); + return Void(); +} + IBar* HIDL_FETCH_IBar(const char* /* name */) { return new Bar(); } diff --git a/tests/bar/1.0/default/Bar.h b/tests/bar/1.0/default/Bar.h index ec55e8b1fd..4e22b610cf 100644 --- a/tests/bar/1.0/default/Bar.h +++ b/tests/bar/1.0/default/Bar.h @@ -64,6 +64,7 @@ struct Bar : public IBar { // Methods from ::android::hardware::tests::bar::V1_0::IBar follow. Return thisIsNew() override; + Return expectNullHandle(const native_handle_t* h, const Abc& xyz, expectNullHandle_cb _hidl_cb) override; private: sp mFoo;