blob: d73179a8d06fd7c26c3ab508a5b714eb99b1082d [file] [log] [blame]
Steven Moreland33e87b82016-11-22 15:34:39 -08001#ifndef ANDROID_HARDWARE_TESTS_FOO_V1_0_FOO_H
2#define ANDROID_HARDWARE_TESTS_FOO_V1_0_FOO_H
Yifan Hongd5b5b2e2016-10-06 13:50:49 -07003
4#include <android/hardware/tests/foo/1.0/IFoo.h>
5#include <hidl/Status.h>
6
7#include <hidl/MQDescriptor.h>
Yifan Hongebfa6332016-10-14 10:41:41 -07008#include <vector>
Yifan Hongd5b5b2e2016-10-06 13:50:49 -07009namespace android {
10namespace hardware {
11namespace tests {
12namespace foo {
13namespace V1_0 {
14namespace implementation {
15
16using ::android::hardware::tests::foo::V1_0::Abc;
17using ::android::hardware::tests::foo::V1_0::IFoo;
18using ::android::hardware::tests::foo::V1_0::IFooCallback;
Andreas Huber847b1452016-10-19 14:10:55 -070019using ::android::hardware::tests::foo::V1_0::ISimple;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070020using ::android::hardware::Return;
21using ::android::hardware::Void;
22using ::android::hardware::hidl_vec;
23using ::android::hardware::hidl_string;
24using ::android::sp;
Steven Moreland3bcfa472017-12-13 18:12:45 -080025using ContainsUnion = ::android::hardware::tests::foo::V1_0::IFoo::ContainsUnion;
26using Discriminator = ::android::hardware::tests::foo::V1_0::IFoo::Discriminator;
27using Union = ::android::hardware::tests::foo::V1_0::IFoo::Union;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070028
29struct Foo : public IFoo {
30 // Methods from ::android::hardware::tests::foo::V1_0::IFoo follow.
Steven Moreland3bcfa472017-12-13 18:12:45 -080031 virtual Return<void> convertToBoolIfSmall(Discriminator d, const hidl_vec<Union>& u,
32 convertToBoolIfSmall_cb _hidl_cb) override;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070033 virtual Return<void> doThis(float param) override;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070034 virtual Return<int32_t> doThatAndReturnSomething(int64_t param) override;
35 virtual Return<double> doQuiteABit(int32_t a, int64_t b, float c, double d) override;
36 virtual Return<void> doSomethingElse(const hidl_array<int32_t, 15 /* 15 */>& param, doSomethingElse_cb _hidl_cb) override;
37 virtual Return<void> doStuffAndReturnAString(doStuffAndReturnAString_cb _hidl_cb) override;
38 virtual Return<void> mapThisVector(const hidl_vec<int32_t>& param, mapThisVector_cb _hidl_cb) override;
39 virtual Return<void> callMe(const sp<IFooCallback>& cb) override;
40 virtual Return<IFoo::SomeEnum> useAnEnum(IFoo::SomeEnum zzz) override;
41 virtual Return<void> haveAGooberVec(const hidl_vec<IFoo::Goober>& param) override;
42 virtual Return<void> haveAGoober(const IFoo::Goober& g) override;
43 virtual Return<void> haveAGooberArray(const hidl_array<IFoo::Goober, 20 /* 20 */>& lots) override;
44 virtual Return<void> haveATypeFromAnotherFile(const Abc& def) override;
45 virtual Return<void> haveSomeStrings(const hidl_array<hidl_string, 3 /* 3 */>& array, haveSomeStrings_cb _hidl_cb) override;
46 virtual Return<void> haveAStringVec(const hidl_vec<hidl_string>& vector, haveAStringVec_cb _hidl_cb) override;
47 virtual Return<void> transposeMe(const hidl_array<float, 3 /* 3 */, 5 /* 5 */>& in, transposeMe_cb _hidl_cb) override;
48 virtual Return<void> callingDrWho(const IFoo::MultiDimensional& in, callingDrWho_cb _hidl_cb) override;
49 virtual Return<void> transpose(const IFoo::StringMatrix5x3& in, transpose_cb _hidl_cb) override;
50 virtual Return<void> transpose2(const hidl_array<hidl_string, 5 /* 5 */, 3 /* 3 */>& in, transpose2_cb _hidl_cb) override;
51 virtual Return<void> sendVec(const hidl_vec<uint8_t>& data, sendVec_cb _hidl_cb) override;
52 virtual Return<void> sendVecVec(sendVecVec_cb _hidl_cb) override;
Yifan Hongebfa6332016-10-14 10:41:41 -070053 virtual Return<void> createMyHandle(createMyHandle_cb _hidl_cb) override;
54 virtual Return<void> createHandles(uint32_t size, createHandles_cb _hidl_cb) override;
55 virtual Return<void> closeHandles() override;
Steven Moreland2b019562018-10-05 09:42:21 -070056 virtual Return<void> repeatWithFmq(const IFoo::WithFmq& withFmq,
57 repeatWithFmq_cb _hidl_cb) override;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070058
Andreas Huber847b1452016-10-19 14:10:55 -070059 Return<void> haveAVectorOfInterfaces(
60 const hidl_vec<sp<ISimple> > &in,
61 haveAVectorOfInterfaces_cb _hidl_cb) override;
62
63 Return<void> haveAVectorOfGenericInterfaces(
Yifan Hong76dd1952016-11-28 16:09:46 -080064 const hidl_vec<sp<android::hidl::base::V1_0::IBase> > &in,
Andreas Huber847b1452016-10-19 14:10:55 -070065 haveAVectorOfGenericInterfaces_cb _hidl_cb) override;
Martijn Coenenb7307d52016-10-27 11:51:46 +020066
67 Return<void> echoNullInterface(const sp<IFooCallback> &cb, echoNullInterface_cb _hidl_cb) override;
Steven Moreland2b019562018-10-05 09:42:21 -070068
Yifan Hongebfa6332016-10-14 10:41:41 -070069private:
70 std::vector<::native_handle_t *> mHandles;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070071};
72
73extern "C" IFoo* HIDL_FETCH_IFoo(const char* name);
74
75} // namespace implementation
76} // namespace V1_0
77} // namespace foo
78} // namespace tests
79} // namespace hardware
80} // namespace android
81
Steven Moreland33e87b82016-11-22 15:34:39 -080082#endif // ANDROID_HARDWARE_TESTS_FOO_V1_0_FOO_H