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
This commit is contained in:
Marco Nelissen 2014-11-17 15:24:21 -08:00
parent 97e61fcf88
commit 5c6ec52ff8

View File

@ -14,6 +14,8 @@
* limitations under the License.
*/
#define LOG_TAG "IInterface"
#include <utils/Log.h>
#include <binder/IInterface.h>
namespace android {
@ -41,6 +43,25 @@ sp<IBinder> IInterface::asBinder(const sp<IInterface>& 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<android::IBinder> *ret = new(retval) android::sp<android::IBinder>;
*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<android::IBinder> *ret = new(retval) android::sp<android::IBinder>;
*ret = android::IInterface::asBinder((android::IInterface*)self);
}
} // extern "C"