blob: 703c2103b691951e9efb1b4774b935ec4f19355c [file] [log] [blame]
Yifan Hongd5b5b2e2016-10-06 13:50:49 -07001#ifndef HIDL_GENERATED_android_hardware_tests_foo_V1_0_Foo_H_
2#define HIDL_GENERATED_android_hardware_tests_foo_V1_0_Foo_H_
3
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;
25
26struct Foo : public IFoo {
27 // Methods from ::android::hardware::tests::foo::V1_0::IFoo follow.
28 virtual Return<void> doThis(float param) override;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070029 virtual Return<int32_t> doThatAndReturnSomething(int64_t param) override;
30 virtual Return<double> doQuiteABit(int32_t a, int64_t b, float c, double d) override;
31 virtual Return<void> doSomethingElse(const hidl_array<int32_t, 15 /* 15 */>& param, doSomethingElse_cb _hidl_cb) override;
32 virtual Return<void> doStuffAndReturnAString(doStuffAndReturnAString_cb _hidl_cb) override;
33 virtual Return<void> mapThisVector(const hidl_vec<int32_t>& param, mapThisVector_cb _hidl_cb) override;
34 virtual Return<void> callMe(const sp<IFooCallback>& cb) override;
35 virtual Return<IFoo::SomeEnum> useAnEnum(IFoo::SomeEnum zzz) override;
36 virtual Return<void> haveAGooberVec(const hidl_vec<IFoo::Goober>& param) override;
37 virtual Return<void> haveAGoober(const IFoo::Goober& g) override;
38 virtual Return<void> haveAGooberArray(const hidl_array<IFoo::Goober, 20 /* 20 */>& lots) override;
39 virtual Return<void> haveATypeFromAnotherFile(const Abc& def) override;
40 virtual Return<void> haveSomeStrings(const hidl_array<hidl_string, 3 /* 3 */>& array, haveSomeStrings_cb _hidl_cb) override;
41 virtual Return<void> haveAStringVec(const hidl_vec<hidl_string>& vector, haveAStringVec_cb _hidl_cb) override;
42 virtual Return<void> transposeMe(const hidl_array<float, 3 /* 3 */, 5 /* 5 */>& in, transposeMe_cb _hidl_cb) override;
43 virtual Return<void> callingDrWho(const IFoo::MultiDimensional& in, callingDrWho_cb _hidl_cb) override;
44 virtual Return<void> transpose(const IFoo::StringMatrix5x3& in, transpose_cb _hidl_cb) override;
45 virtual Return<void> transpose2(const hidl_array<hidl_string, 5 /* 5 */, 3 /* 3 */>& in, transpose2_cb _hidl_cb) override;
46 virtual Return<void> sendVec(const hidl_vec<uint8_t>& data, sendVec_cb _hidl_cb) override;
47 virtual Return<void> sendVecVec(sendVecVec_cb _hidl_cb) override;
Yifan Hongebfa6332016-10-14 10:41:41 -070048 virtual Return<void> createMyHandle(createMyHandle_cb _hidl_cb) override;
49 virtual Return<void> createHandles(uint32_t size, createHandles_cb _hidl_cb) override;
50 virtual Return<void> closeHandles() override;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070051
Andreas Huber847b1452016-10-19 14:10:55 -070052 Return<void> haveAVectorOfInterfaces(
53 const hidl_vec<sp<ISimple> > &in,
54 haveAVectorOfInterfaces_cb _hidl_cb) override;
55
56 Return<void> haveAVectorOfGenericInterfaces(
57 const hidl_vec<sp<android::hardware::IBinder> > &in,
58 haveAVectorOfGenericInterfaces_cb _hidl_cb) override;
Martijn Coenenb7307d52016-10-27 11:51:46 +020059
60 Return<void> echoNullInterface(const sp<IFooCallback> &cb, echoNullInterface_cb _hidl_cb) override;
Yifan Hongebfa6332016-10-14 10:41:41 -070061private:
62 std::vector<::native_handle_t *> mHandles;
Yifan Hongd5b5b2e2016-10-06 13:50:49 -070063};
64
65extern "C" IFoo* HIDL_FETCH_IFoo(const char* name);
66
67} // namespace implementation
68} // namespace V1_0
69} // namespace foo
70} // namespace tests
71} // namespace hardware
72} // namespace android
73
74#endif // HIDL_GENERATED_android_hardware_tests_foo_V1_0_Foo_H_