1 #ifndef ANDROID_HARDWARE_TESTS_FOO_V1_0_FOOCALLBACK_H
2 #define ANDROID_HARDWARE_TESTS_FOO_V1_0_FOOCALLBACK_H
3 
4 #include <android/hardware/tests/foo/1.0/IFooCallback.h>
5 #include <hidl/Status.h>
6 #include <hidl/MQDescriptor.h>
7 
8 #include <utils/Condition.h>
9 namespace android {
10 namespace hardware {
11 namespace tests {
12 namespace foo {
13 namespace V1_0 {
14 namespace implementation {
15 
16 using ::android::hardware::tests::foo::V1_0::IFooCallback;
17 using ::android::hardware::Return;
18 using ::android::hardware::Void;
19 using ::android::hardware::hidl_vec;
20 using ::android::hardware::hidl_string;
21 using ::android::sp;
22 
23 struct FooCallback : public IFooCallback {
24     FooCallback();
25     // Methods from ::android::hardware::tests::foo::V1_0::IFooCallback follow.
26     Return<void> heyItsYou(const sp<IFooCallback>& cb)  override;
27     Return<bool> heyItsYouIsntIt(const sp<IFooCallback>& cb)  override;
28     Return<void> heyItsTheMeaningOfLife(uint8_t tmol)  override;
29     Return<void> reportResults(int64_t ns, reportResults_cb _hidl_cb)  override;
30     Return<void> youBlockedMeFor(const hidl_array<int64_t, 3 /* 3 */>& callerBlockedInfo)  override;
31 
32     hidl_array<InvokeInfo, 3> invokeInfo;
33     Mutex mLock;
34     Condition mCond;
35 };
36 
37 extern "C" IFooCallback* HIDL_FETCH_IFooCallback(const char* name);
38 
39 }  // namespace implementation
40 }  // namespace V1_0
41 }  // namespace foo
42 }  // namespace tests
43 }  // namespace hardware
44 }  // namespace android
45 
46 #endif  // ANDROID_HARDWARE_TESTS_FOO_V1_0_FOOCALLBACK_H
47