Files
hardware_interfaces/tests/inheritance/1.0/default/Fetcher.cpp
Yifan Hong 0c4c7a30c2 Update to use the correct library for logging.
Generates: b/33193497
Test: mma
Change-Id: Ib8bfc4d2f1d68947099e4756f661ed06689ffd62
2016-11-29 13:10:15 -08:00

59 lines
1.5 KiB
C++

#define LOG_TAG "hidl_test"
#include "Fetcher.h"
#include <android-base/logging.h>
#include <inttypes.h>
namespace android {
namespace hardware {
namespace tests {
namespace inheritance {
namespace V1_0 {
namespace implementation {
Fetcher::Fetcher() {
mPrecious = IChild::getService("local child", true);
CHECK(!mPrecious->isRemote());
}
template <typename CB>
Return<void> selectService(bool sendRemote, CB &_hidl_cb, sp<IChild> &local) {
sp<IChild> toSend;
if (sendRemote) {
toSend = IChild::getService("child");
if (!toSend->isRemote()) {
toSend = nullptr;
}
} else {
toSend = local;
}
LOG(INFO) << "SERVER(Fetcher) selectService returning " << toSend.get();
_hidl_cb(toSend);
return Void();
}
// Methods from ::android::hardware::tests::inheritance::V1_0::IFetcher follow.
Return<void> Fetcher::getGrandparent(bool sendRemote, getGrandparent_cb _hidl_cb) {
return selectService(sendRemote, _hidl_cb, mPrecious);
}
Return<void> Fetcher::getParent(bool sendRemote, getParent_cb _hidl_cb) {
return selectService(sendRemote, _hidl_cb, mPrecious);
}
Return<void> Fetcher::getChild(bool sendRemote, getChild_cb _hidl_cb) {
return selectService(sendRemote, _hidl_cb, mPrecious);
}
IFetcher* HIDL_FETCH_IFetcher(const char* /* name */) {
return new Fetcher();
}
} // namespace implementation
} // namespace V1_0
} // namespace inheritance
} // namespace tests
} // namespace hardware
} // namespace android