From 82b007d7572dceb0981b269338bd1ac6c40496c5 Mon Sep 17 00:00:00 2001 From: Brian Carlstrom Date: Thu, 12 Dec 2013 23:12:55 -0800 Subject: Track Looper decoupling from ALooper Change-Id: I54f4d36f105e60eaaa453ae60f591d634c681fd7 --- native/android/looper.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'native/android/looper.cpp') diff --git a/native/android/looper.cpp b/native/android/looper.cpp index 455e950da033..24cb2342501d 100644 --- a/native/android/looper.cpp +++ b/native/android/looper.cpp @@ -25,20 +25,28 @@ using android::Looper; using android::sp; using android::IPCThreadState; +static inline Looper* ALooper_to_Looper(ALooper* alooper) { + return reinterpret_cast(alooper); +} + +static inline ALooper* Looper_to_ALooper(Looper* looper) { + return reinterpret_cast(looper); +} + ALooper* ALooper_forThread() { - return Looper::getForThread().get(); + return Looper_to_ALooper(Looper::getForThread().get()); } ALooper* ALooper_prepare(int opts) { - return Looper::prepare(opts).get(); + return Looper_to_ALooper(Looper::prepare(opts).get()); } void ALooper_acquire(ALooper* looper) { - static_cast(looper)->incStrong((void*)ALooper_acquire); + ALooper_to_Looper(looper)->incStrong((void*)ALooper_acquire); } void ALooper_release(ALooper* looper) { - static_cast(looper)->decStrong((void*)ALooper_acquire); + ALooper_to_Looper(looper)->decStrong((void*)ALooper_acquire); } int ALooper_pollOnce(int timeoutMillis, int* outFd, int* outEvents, void** outData) { @@ -64,14 +72,14 @@ int ALooper_pollAll(int timeoutMillis, int* outFd, int* outEvents, void** outDat } void ALooper_wake(ALooper* looper) { - static_cast(looper)->wake(); + ALooper_to_Looper(looper)->wake(); } int ALooper_addFd(ALooper* looper, int fd, int ident, int events, ALooper_callbackFunc callback, void* data) { - return static_cast(looper)->addFd(fd, ident, events, callback, data); + return ALooper_to_Looper(looper)->addFd(fd, ident, events, callback, data); } int ALooper_removeFd(ALooper* looper, int fd) { - return static_cast(looper)->removeFd(fd); + return ALooper_to_Looper(looper)->removeFd(fd); } -- cgit v1.2.3-59-g8ed1b