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> 9namespace android { 10namespace hardware { 11namespace tests { 12namespace foo { 13namespace V1_0 { 14namespace implementation { 15 16using ::android::hardware::tests::foo::V1_0::IFooCallback; 17using ::android::hardware::Return; 18using ::android::hardware::Void; 19using ::android::hardware::hidl_vec; 20using ::android::hardware::hidl_string; 21using ::android::sp; 22 23struct 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 37extern "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