Cleanup Return object.
- Expose isOk() instead of having to say getStatus().isOk()
- Add 'get' function which checks to make sure content is valid.
- Mark implicit cast operator as deprecated.
Bug: 32744406
Bug: 31348667
Test: hidl_test
Change-Id: I13bfe33b6c1f9b94a372161064a9e913825df959
diff --git a/transport/include/hidl/HidlBinderSupport.h b/transport/include/hidl/HidlBinderSupport.h
index b4a2aa2..84ba966 100644
--- a/transport/include/hidl/HidlBinderSupport.h
+++ b/transport/include/hidl/HidlBinderSupport.h
@@ -363,7 +363,9 @@
::android::hardware::Return<void> ret = \
this->interfaceChain( \
[&success, &sm, &serviceName, &binderIface](const auto &chain) { \
- success = sm->add(chain, serviceName.c_str(), binderIface); \
+ ::android::hardware::Return<bool> addRet = \
+ sm->add(chain, serviceName.c_str(), binderIface); \
+ success = addRet.isOk() && addRet.get(); \
}); \
success = success && ret.getStatus().isOk(); \
return success ? ::android::OK : ::android::UNKNOWN_ERROR; \
@@ -380,9 +382,11 @@
if (sm == nullptr) { \
return false; \
} \
- return sm->registerForNotifications(PACKAGE "::I" #INTERFACE, \
- serviceName, \
- notification); \
+ ::android::hardware::Return<bool> success = \
+ sm->registerForNotifications(PACKAGE "::I" #INTERFACE, \
+ serviceName, \
+ notification); \
+ return success.isOk() && success.get(); \
}