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();                                          \
     }