From 5c6ec52ff8ab4e8471f98fe4fcde64221b23d72a Mon Sep 17 00:00:00 2001 From: Marco Nelissen Date: Mon, 17 Nov 2014 15:24:21 -0800 Subject: [PATCH] Add backwards compatible versions of IInterface::asBinder() This makes apps linked against the previous non-static versions work with the new libbinder. Bug: 19060033 Bug: 19773812 Change-Id: I3b5c78cbb4f4c0681ca1042e4d8503d98f969502 --- libs/binder/IInterface.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libs/binder/IInterface.cpp b/libs/binder/IInterface.cpp index 8c60dc4f7..2fcd3d92f 100644 --- a/libs/binder/IInterface.cpp +++ b/libs/binder/IInterface.cpp @@ -14,6 +14,8 @@ * limitations under the License. */ +#define LOG_TAG "IInterface" +#include #include namespace android { @@ -41,6 +43,25 @@ sp IInterface::asBinder(const sp& iface) return iface->onAsBinder(); } + // --------------------------------------------------------------------------- }; // namespace android + +extern "C" { + +void _ZN7android10IInterface8asBinderEv(void *retval, void* self) { + ALOGW("deprecated asBinder call, please update your code"); + //ALOGI("self: %p, retval: %p", self, retval); + android::sp *ret = new(retval) android::sp; + *ret = android::IInterface::asBinder((android::IInterface*)self); +} + +void _ZNK7android10IInterface8asBinderEv(void *retval, void *self) { + ALOGW("deprecated asBinder call, please update your code"); + //ALOGI("self: %p, retval: %p", self, retval); + android::sp *ret = new(retval) android::sp; + *ret = android::IInterface::asBinder((android::IInterface*)self); +} + +} // extern "C"