Move IBaz default implementation to hardware/interfaces
Test: adb shell hidl_test_java passes
Change-Id: Ibebdf8b3f14fee4964f5a10728f61d375820465a
diff --git a/test/java_test/Android.bp b/test/java_test/Android.bp
index be0f89f..e24fbe0 100644
--- a/test/java_test/Android.bp
+++ b/test/java_test/Android.bp
@@ -7,6 +7,7 @@
"libhidlbase",
"libhidltransport",
"libhwbinder",
+ "liblog",
"libutils",
"android.hardware.tests.baz@1.0",
"android.hardware.tests.expression@1.0",
@@ -14,6 +15,9 @@
],
static_libs: ["libgtest"],
+ required: [
+ "android.hardware.tests.baz@1.0-impl",
+ ],
compile_multilib: "both",
multilib: {
diff --git a/test/java_test/hidl_test_java_native.cpp b/test/java_test/hidl_test_java_native.cpp
index b17ea0c..adb928b 100644
--- a/test/java_test/hidl_test_java_native.cpp
+++ b/test/java_test/hidl_test_java_native.cpp
@@ -5,6 +5,8 @@
#include <android/hardware/tests/baz/1.0/IBaz.h>
+#include <hidl/LegacySupport.h>
+
#include <gtest/gtest.h>
#include <hidl/HidlTransportSupport.h>
@@ -18,6 +20,7 @@
using ::android::hardware::hidl_vec;
using ::android::hardware::hidl_string;
using ::android::hardware::configureRpcThreadpool;
+using ::android::hardware::defaultPassthroughServiceImplementation;
using ::android::hardware::joinRpcThreadpool;
using ::android::hardware::Return;
using ::android::hardware::Void;
@@ -40,104 +43,10 @@
return Void();
}
-struct Baz : public IBaz {
- Return<void> someBaseMethod() override;
-
- Return<void> someOtherBaseMethod(
- const IBaz::Foo &foo, someOtherBaseMethod_cb _hidl_cb) override;
-
- Return<void> someMethodWithFooArrays(
- const hidl_array<IBaz::Foo, 2> &fooInput,
- someMethodWithFooArrays_cb _hidl_cb) override;
-
- Return<void> someMethodWithFooVectors(
- const hidl_vec<IBaz::Foo> &fooInput,
- someMethodWithFooVectors_cb _hidl_cb) override;
-
- Return<void> someMethodWithVectorOfArray(
- const IBase::VectorOfArray &in,
- someMethodWithVectorOfArray_cb _hidl_cb) override;
-
- Return<void> someMethodTakingAVectorOfArray(
- const hidl_vec<hidl_array<uint8_t, 6> > &in,
- someMethodTakingAVectorOfArray_cb _hidl_cb) override;
-
- Return<void> transpose(
- const IBase::StringMatrix5x3 &in,
- transpose_cb _hidl_cb) override;
-
- Return<void> transpose2(
- const hidl_array<hidl_string, 5, 3> &in,
- transpose2_cb _hidl_cb) override;
-
- Return<bool> someBoolMethod(bool x) override;
-
- Return<void> someBoolArrayMethod(
- const hidl_array<bool, 3> &x,
- someBoolArrayMethod_cb _hidl_cb) override;
-
- Return<void> someBoolVectorMethod(
- const hidl_vec<bool> &x, someBoolVectorMethod_cb _hidl_cb) override;
-
- Return<void> doSomethingElse(
- const hidl_array<int32_t, 15> ¶m,
- doSomethingElse_cb _hidl_cb) override;
-
- Return<void> doThis(float param) override;
-
- Return<int32_t> doThatAndReturnSomething(int64_t param) override;
-
- Return<double> doQuiteABit(
- int32_t a,
- int64_t b,
- float c,
- double d) override;
-
- Return<void> doStuffAndReturnAString(
- doStuffAndReturnAString_cb _hidl_cb) override;
-
- Return<void> mapThisVector(
- const hidl_vec<int32_t>& param, mapThisVector_cb _hidl_cb) override;
-
- Return<void> callMe(const sp<IBazCallback>& cb) override;
-
- Return<void> callMeLater(const sp<IBazCallback>& cb) override;
- Return<void> iAmFreeNow() override;
- Return<void> dieNow() override;
-
- Return<IBaz::SomeEnum> useAnEnum(IBaz::SomeEnum zzz) override;
-
- Return<void> haveSomeStrings(
- const hidl_array<hidl_string, 3> &array,
- haveSomeStrings_cb _hidl_cb) override;
-
- Return<void> haveAStringVec(
- const hidl_vec<hidl_string>& vector,
- haveAStringVec_cb _hidl_cb) override;
-
- Return<void> returnABunchOfStrings(returnABunchOfStrings_cb _hidl_cb) override;
-
- Return<void> takeAMask(IBase::BitField bf, uint8_t first,
- const IBase::MyMask& second, uint8_t third, takeAMask_cb _hidl_cb) override;
-
- Return<uint8_t> returnABitField() override;
-
- Return<uint32_t> size(uint32_t size) override;
-
- Return<void> getNestedStructs(getNestedStructs_cb _hidl_cb) override;
-
-private:
- sp<IBazCallback> mStoredCallback;
-};
-
-Return<void> Baz::someBaseMethod() {
- LOG(INFO) << "Baz::someBaseMethod";
-
- return Void();
-}
-
using std::to_string;
+// TODO(b/35703683) : Modify all tests to use autogenerated toString() instead to the below methods
+
static std::string to_string(const IBaz::Foo::Bar &bar);
static std::string to_string(const IBaz::Foo &foo);
static std::string to_string(const hidl_string &s);
@@ -259,47 +168,6 @@
return to_string(M.s);
}
-Return<void> Baz::someOtherBaseMethod(
- const IBaz::Foo &foo, someOtherBaseMethod_cb _hidl_cb) {
- LOG(INFO) << "Baz::someOtherBaseMethod "
- << to_string(foo);
-
- _hidl_cb(foo);
-
- return Void();
-}
-
-Return<void> Baz::someMethodWithFooArrays(
- const hidl_array<IBaz::Foo, 2> &fooInput,
- someMethodWithFooArrays_cb _hidl_cb) {
- LOG(INFO) << "Baz::someMethodWithFooArrays "
- << to_string(fooInput);
-
- hidl_array<IBaz::Foo, 2> fooOutput;
- fooOutput[0] = fooInput[1];
- fooOutput[1] = fooInput[0];
-
- _hidl_cb(fooOutput);
-
- return Void();
-}
-
-Return<void> Baz::someMethodWithFooVectors(
- const hidl_vec<IBaz::Foo> &fooInput,
- someMethodWithFooVectors_cb _hidl_cb) {
- LOG(INFO) << "Baz::someMethodWithFooVectors "
- << to_string(fooInput);
-
- hidl_vec<IBaz::Foo> fooOutput;
- fooOutput.resize(2);
- fooOutput[0] = fooInput[1];
- fooOutput[1] = fooInput[0];
-
- _hidl_cb(fooOutput);
-
- return Void();
-}
-
static std::string VectorOfArray_to_string(const IBase::VectorOfArray &in) {
std::string out;
out += "VectorOfArray(";
@@ -326,300 +194,6 @@
return out;
}
-Return<void> Baz::someMethodWithVectorOfArray(
- const IBase::VectorOfArray &in,
- someMethodWithVectorOfArray_cb _hidl_cb) {
- LOG(INFO) << "Baz::someMethodWithVectorOfArray "
- << VectorOfArray_to_string(in);
-
- IBase::VectorOfArray out;
-
- const size_t n = in.addresses.size();
- out.addresses.resize(n);
-
- for (size_t i = 0; i < n; ++i) {
- out.addresses[i] = in.addresses[n - 1 - i];
- }
-
- _hidl_cb(out);
-
- return Void();
-}
-
-Return<void> Baz::someMethodTakingAVectorOfArray(
- const hidl_vec<hidl_array<uint8_t, 6> > &in,
- someMethodTakingAVectorOfArray_cb _hidl_cb) {
- LOG(INFO) << "Baz::someMethodTakingAVectorOfArray "
- << to_string(in);
-
- const size_t n = in.size();
-
- hidl_vec<hidl_array<uint8_t, 6> > out;
- out.resize(n);
-
- for (size_t i = 0; i < n; ++i) {
- out[i] = in[n - 1 - i];
- }
-
- _hidl_cb(out);
-
- return Void();
-}
-
-Return<void> Baz::transpose(
- const IBase::StringMatrix5x3 &in, transpose_cb _hidl_cb) {
- LOG(INFO) << "Baz::transpose " << to_string(in);
-
- IBase::StringMatrix3x5 out;
- for (size_t i = 0; i < 3; ++i) {
- for (size_t j = 0; j < 5; ++j) {
- out.s[i][j] = in.s[j][i];
- }
- }
-
- _hidl_cb(out);
-
- return Void();
-}
-
-Return<void> Baz::transpose2(
- const hidl_array<hidl_string, 5, 3> &in, transpose2_cb _hidl_cb) {
- LOG(INFO) << "Baz::transpose2 " << to_string(in);
-
- hidl_array<hidl_string, 3, 5> out;
- for (size_t i = 0; i < 3; ++i) {
- for (size_t j = 0; j < 5; ++j) {
- out[i][j] = in[j][i];
- }
- }
-
- _hidl_cb(out);
-
- return Void();
-}
-
-Return<bool> Baz::someBoolMethod(bool x) {
- LOG(INFO) << "Baz::someBoolMethod(" << to_string(x) << ")";
-
- return !x;
-}
-
-Return<void> Baz::someBoolArrayMethod(
- const hidl_array<bool, 3> &x, someBoolArrayMethod_cb _hidl_cb) {
- LOG(INFO) << "Baz::someBoolArrayMethod("
- << to_string(x[0])
- << ", "
- << to_string(x[1])
- << ", "
- << to_string(x[2])
- << ")";
-
- hidl_array<bool, 4> out;
- out[0] = !x[0];
- out[1] = !x[1];
- out[2] = !x[2];
- out[3] = true;
-
- _hidl_cb(out);
-
- return Void();
-}
-
-Return<void> Baz::someBoolVectorMethod(
- const hidl_vec<bool> &x, someBoolVectorMethod_cb _hidl_cb) {
- LOG(INFO) << "Baz::someBoolVectorMethod(" << to_string(x) << ")";
-
- hidl_vec<bool> out;
- out.resize(x.size());
- for (size_t i = 0; i < x.size(); ++i) {
- out[i] = !x[i];
- }
-
- _hidl_cb(out);
-
- return Void();
-}
-
-Return<void> Baz::doSomethingElse(
- const hidl_array<int32_t, 15> ¶m, doSomethingElse_cb _hidl_cb) {
- LOG(INFO) << "Baz::doSomethingElse(...)";
-
- hidl_array<int32_t, 32> result;
- for (size_t i = 0; i < 15; ++i) {
- result[i] = 2 * param[i];
- result[15 + i] = param[i];
- }
- result[30] = 1;
- result[31] = 2;
-
- _hidl_cb(result);
-
- return Void();
-}
-
-Return<void> Baz::doThis(float param) {
- LOG(INFO) << "Baz::doThis(" << param << ")";
-
- return Void();
-}
-
-Return<int32_t> Baz::doThatAndReturnSomething(int64_t param) {
- LOG(INFO) << "Baz::doThatAndReturnSomething(" << param << ")";
-
- return 666;
-}
-
-Return<double> Baz::doQuiteABit(
- int32_t a,
- int64_t b,
- float c,
- double d) {
- LOG(INFO) << "Baz::doQuiteABit("
- << a
- << ", "
- << b
- << ", "
- << c
- << ", "
- << d
- << ")";
-
- return 666.5;
-}
-
-Return<void> Baz::doStuffAndReturnAString(
- doStuffAndReturnAString_cb _hidl_cb) {
- LOG(INFO) << "doStuffAndReturnAString";
-
- hidl_string s;
- s = "Hello, world!";
-
- _hidl_cb(s);
-
- return Void();
-}
-
-Return<void> Baz::mapThisVector(
- const hidl_vec<int32_t>& param, mapThisVector_cb _hidl_cb) {
- LOG(INFO) << "mapThisVector";
-
- hidl_vec<int32_t> out;
- out.resize(param.size());
- for (size_t i = 0; i < param.size(); ++i) {
- out[i] = param[i] * 2;
- }
-
- _hidl_cb(out);
-
- return Void();
-}
-
-Return<void> Baz::callMe(const sp<IBazCallback>& cb) {
- LOG(INFO) << "callMe " << cb.get();
-
- if (cb != NULL) {
- sp<IBazCallback> my_cb = new BazCallback;
- cb->heyItsMe(my_cb);
- }
-
- return Void();
-}
-
-Return<void> Baz::callMeLater(const sp<IBazCallback>& cb) {
- LOG(INFO) << "callMeLater " << cb.get();
-
- mStoredCallback = cb;
-
- return Void();
-}
-
-Return<void> Baz::iAmFreeNow() {
- if (mStoredCallback != nullptr) {
- mStoredCallback->hey();
- }
- return Void();
-}
-
-Return<void> Baz::dieNow() {
- exit(1);
- return Void();
-}
-
-Return<IBaz::SomeEnum> Baz::useAnEnum(IBaz::SomeEnum zzz) {
- LOG(INFO) << "useAnEnum " << (int)zzz;
-
- return SomeEnum::goober;
-}
-
-Return<void> Baz::haveSomeStrings(
- const hidl_array<hidl_string, 3> &array, haveSomeStrings_cb _hidl_cb) {
- LOG(INFO) << "haveSomeStrings("
- << to_string(array)
- << ")";
-
- hidl_array<hidl_string, 2> result;
- result[0] = "Hello";
- result[1] = "World";
-
- _hidl_cb(result);
-
- return Void();
-}
-
-Return<void> Baz::haveAStringVec(
- const hidl_vec<hidl_string>& vector,
- haveAStringVec_cb _hidl_cb) {
- LOG(INFO) << "haveAStringVec(" << to_string(vector) << ")";
-
- hidl_vec<hidl_string> result;
- result.resize(2);
-
- result[0] = "Hello";
- result[1] = "World";
-
- _hidl_cb(result);
-
- return Void();
-}
-
-Return<void> Baz::returnABunchOfStrings(returnABunchOfStrings_cb _hidl_cb) {
- hidl_string eins; eins = "Eins";
- hidl_string zwei; zwei = "Zwei";
- hidl_string drei; drei = "Drei";
- _hidl_cb(eins, zwei, drei);
-
- return Void();
-}
-
-
-Return<void> Baz::takeAMask(IBase::BitField bf, uint8_t first,
- const IBase::MyMask& second, uint8_t third, takeAMask_cb _hidl_cb) {
- _hidl_cb(bf, bf | first, second.value & bf, (bf | bf) & third);
- return Void();
-}
-
-Return<uint8_t> Baz::returnABitField() {
- return 0;
-}
-
-Return<uint32_t> Baz::size(uint32_t size) {
- return size;
-}
-
-Return<void> Baz::getNestedStructs(IBaz::getNestedStructs_cb _hidl_cb) {
- int size = 5;
- hidl_vec<IBaz::NestedStruct> result;
- result.resize(size);
- for (int i = 0; i < size; i++) {
- result[i].a = i;
- if (i == 1) {
- result[i].matrices.resize(6);
- }
- }
- _hidl_cb(result);
- return Void();
-}
-
static void usage(const char *me) {
fprintf(stderr, "%s [-c]lient | [-s]erver\n", me);
}
@@ -1113,13 +687,8 @@
::testing::InitGoogleTest(&argc, argv);
int status = RUN_ALL_TESTS();
return status;
- } else {
- sp<Baz> baz = new Baz;
- configureRpcThreadpool(1, true /* callerWillJoin */);
- baz->registerAsService("baz");
- joinRpcThreadpool();
}
- return 0;
-}
+ return defaultPassthroughServiceImplementation<IBaz>("baz");
+}