summaryrefslogtreecommitdiff
path: root/libs/binder/IInterface.cpp
diff options
context:
space:
mode:
author Marco Nelissen <marcone@google.com> 2014-11-14 08:01:01 -0800
committer Marco Nelissen <marcone@google.com> 2014-11-17 08:47:01 -0800
commit097ca275f4717a2c47a5d49f302ed2b72c8a1370 (patch)
tree1c2f6c7b2fc2b71aab6759a0b1d8de22db46e830 /libs/binder/IInterface.cpp
parentd72ff140e0df44106cd8539396ce686aa8f3306a (diff)
Replace IInterface::asBinder() with a static
so we can do NULL checks again, and update calls to IInterface::asBinder() to use the new static version. Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
Diffstat (limited to 'libs/binder/IInterface.cpp')
-rw-r--r--libs/binder/IInterface.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/libs/binder/IInterface.cpp b/libs/binder/IInterface.cpp
index 99a9ffeea2..8c60dc4f7e 100644
--- a/libs/binder/IInterface.cpp
+++ b/libs/binder/IInterface.cpp
@@ -27,14 +27,18 @@ IInterface::IInterface()
IInterface::~IInterface() {
}
-sp<IBinder> IInterface::asBinder()
+// static
+sp<IBinder> IInterface::asBinder(const IInterface* iface)
{
- return onAsBinder();
+ if (iface == NULL) return NULL;
+ return const_cast<IInterface*>(iface)->onAsBinder();
}
-sp<const IBinder> IInterface::asBinder() const
+// static
+sp<IBinder> IInterface::asBinder(const sp<IInterface>& iface)
{
- return const_cast<IInterface*>(this)->onAsBinder();
+ if (iface == NULL) return NULL;
+ return iface->onAsBinder();
}
// ---------------------------------------------------------------------------