Lines Matching refs:binder
49 static void attach(const sp<IBinder>& binder) { in attach() argument
50 binder->attachObject(kId, kValue, nullptr /*cookie*/, clean); in attach()
52 static bool has(const sp<IBinder>& binder) { in has() argument
53 return binder != nullptr && binder->findObject(kId) == kValue; in has()
63 wp<ABpBinder> binder; member
228 ABpBinder::ABpBinder(const ::android::sp<::android::IBinder>& binder) in ABpBinder() argument
229 : AIBinder(nullptr /*clazz*/), BpRefBase(binder) { in ABpBinder()
230 CHECK(binder != nullptr); in ABpBinder()
245 value->binder = nullptr; in onLastStrongRef()
252 sp<AIBinder> ABpBinder::lookupOrCreateFromBinder(const ::android::sp<::android::IBinder>& binder) { in lookupOrCreateFromBinder() argument
253 if (binder == nullptr) { in lookupOrCreateFromBinder()
256 if (ABBinderTag::has(binder)) { in lookupOrCreateFromBinder()
257 return static_cast<ABBinder*>(binder.get()); in lookupOrCreateFromBinder()
265 static_cast<ABpBinderTag::Value*>(binder->findObject(ABpBinderTag::kId)); in lookupOrCreateFromBinder()
268 binder->attachObject(ABpBinderTag::kId, static_cast<void*>(value), nullptr /*cookie*/, in lookupOrCreateFromBinder()
272 sp<ABpBinder> ret = value->binder.promote(); in lookupOrCreateFromBinder()
274 ret = new ABpBinder(binder); in lookupOrCreateFromBinder()
275 value->binder = ret; in lookupOrCreateFromBinder()
282 wp<AIBinder> binder; member
284 AIBinder_Weak* AIBinder_Weak_new(AIBinder* binder) { in AIBinder_Weak_new() argument
285 if (binder == nullptr) { in AIBinder_Weak_new()
289 return new AIBinder_Weak{wp<AIBinder>(binder)}; in AIBinder_Weak_new()
299 sp<AIBinder> binder = weakBinder->binder.promote(); in AIBinder_Weak_promote() local
300 AIBinder_incStrong(binder.get()); in AIBinder_Weak_promote()
301 return binder.get(); in AIBinder_Weak_promote()
309 return new AIBinder_Weak{weak->binder}; in AIBinder_Weak_clone()
321 return lhs->binder < rhs->binder; in AIBinder_Weak_lt()
398 binder_status_t AIBinder_DeathRecipient::linkToDeath(const sp<IBinder>& binder, void* cookie) { in linkToDeath() argument
399 CHECK(binder != nullptr); in linkToDeath()
404 new TransferDeathRecipient(binder, cookie, this, mOnDied); in linkToDeath()
406 status_t status = binder->linkToDeath(recipient, cookie, 0 /*flags*/); in linkToDeath()
417 binder_status_t AIBinder_DeathRecipient::unlinkToDeath(const sp<IBinder>& binder, void* cookie) { in unlinkToDeath() argument
418 CHECK(binder != nullptr); in unlinkToDeath()
425 if (recipient->getCookie() == cookie && recipient->getWho() == binder) { in unlinkToDeath()
428 status_t status = binder->unlinkToDeath(recipient, cookie, 0 /*flags*/); in unlinkToDeath()
457 bool AIBinder_isRemote(const AIBinder* binder) { in AIBinder_isRemote() argument
458 if (binder == nullptr) { in AIBinder_isRemote()
462 return binder->isRemote(); in AIBinder_isRemote()
465 bool AIBinder_isAlive(const AIBinder* binder) { in AIBinder_isAlive() argument
466 if (binder == nullptr) { in AIBinder_isAlive()
470 return const_cast<AIBinder*>(binder)->getBinder()->isBinderAlive(); in AIBinder_isAlive()
473 binder_status_t AIBinder_ping(AIBinder* binder) { in AIBinder_ping() argument
474 if (binder == nullptr) { in AIBinder_ping()
478 return PruneStatusT(binder->getBinder()->pingBinder()); in AIBinder_ping()
481 binder_status_t AIBinder_dump(AIBinder* binder, int fd, const char** args, uint32_t numArgs) { in AIBinder_dump() argument
482 if (binder == nullptr) { in AIBinder_dump()
486 ABBinder* bBinder = binder->asABBinder(); in AIBinder_dump()
488 AIBinder_onDump onDump = binder->getClass()->onDump; in AIBinder_dump()
501 status_t status = binder->getBinder()->dump(fd, utf16Args); in AIBinder_dump()
505 binder_status_t AIBinder_linkToDeath(AIBinder* binder, AIBinder_DeathRecipient* recipient, in AIBinder_linkToDeath() argument
507 if (binder == nullptr || recipient == nullptr) { in AIBinder_linkToDeath()
513 return recipient->linkToDeath(binder->getBinder(), cookie); in AIBinder_linkToDeath()
516 binder_status_t AIBinder_unlinkToDeath(AIBinder* binder, AIBinder_DeathRecipient* recipient, in AIBinder_unlinkToDeath() argument
518 if (binder == nullptr || recipient == nullptr) { in AIBinder_unlinkToDeath()
524 return recipient->unlinkToDeath(binder->getBinder(), cookie); in AIBinder_unlinkToDeath()
535 void AIBinder_incStrong(AIBinder* binder) { in AIBinder_incStrong() argument
536 if (binder == nullptr) { in AIBinder_incStrong()
540 binder->incStrong(nullptr); in AIBinder_incStrong()
542 void AIBinder_decStrong(AIBinder* binder) { in AIBinder_decStrong() argument
543 if (binder == nullptr) { in AIBinder_decStrong()
548 binder->decStrong(nullptr); in AIBinder_decStrong()
550 int32_t AIBinder_debugGetRefCount(AIBinder* binder) { in AIBinder_debugGetRefCount() argument
551 if (binder == nullptr) { in AIBinder_debugGetRefCount()
556 return binder->getStrongCount(); in AIBinder_debugGetRefCount()
559 bool AIBinder_associateClass(AIBinder* binder, const AIBinder_Class* clazz) { in AIBinder_associateClass() argument
560 if (binder == nullptr) { in AIBinder_associateClass()
564 return binder->associateClass(clazz); in AIBinder_associateClass()
567 const AIBinder_Class* AIBinder_getClass(AIBinder* binder) { in AIBinder_getClass() argument
568 if (binder == nullptr) { in AIBinder_getClass()
572 return binder->getClass(); in AIBinder_getClass()
575 void* AIBinder_getUserData(AIBinder* binder) { in AIBinder_getUserData() argument
576 if (binder == nullptr) { in AIBinder_getUserData()
580 ABBinder* bBinder = binder->asABBinder(); in AIBinder_getUserData()
588 binder_status_t AIBinder_prepareTransaction(AIBinder* binder, AParcel** in) { in AIBinder_prepareTransaction() argument
589 if (binder == nullptr || in == nullptr) { in AIBinder_prepareTransaction()
593 const AIBinder_Class* clazz = binder->getClass(); in AIBinder_prepareTransaction()
601 *in = new AParcel(binder); in AIBinder_prepareTransaction()
602 (*in)->get()->markForBinder(binder->getBinder()); in AIBinder_prepareTransaction()
620 binder_status_t AIBinder_transact(AIBinder* binder, transaction_code_t code, AParcel** in, in AIBinder_transact() argument
643 if (binder == nullptr || *in == nullptr || out == nullptr) { in AIBinder_transact()
648 if ((*in)->getBinder() != binder) { in AIBinder_transact()
649 LOG(ERROR) << __func__ << ": parcel is associated with binder object " << binder in AIBinder_transact()
654 *out = new AParcel(binder); in AIBinder_transact()
656 status_t status = binder->getBinder()->transact(code, *(*in)->get(), (*out)->get(), flags); in AIBinder_transact()
686 binder_status_t AIBinder_getExtension(AIBinder* binder, AIBinder** outExt) { in AIBinder_getExtension() argument
687 if (binder == nullptr || outExt == nullptr) { in AIBinder_getExtension()
695 status_t res = binder->getBinder()->getExtension(&ext); in AIBinder_getExtension()
703 if (ret != nullptr) ret->incStrong(binder); in AIBinder_getExtension()
709 binder_status_t AIBinder_setExtension(AIBinder* binder, AIBinder* ext) { in AIBinder_setExtension() argument
710 if (binder == nullptr || ext == nullptr) { in AIBinder_setExtension()
714 ABBinder* rawBinder = binder->asABBinder(); in AIBinder_setExtension()
725 void AIBinder_setRequestingSid(AIBinder* binder, bool requestingSid) { in AIBinder_setRequestingSid() argument
726 ABBinder* localBinder = binder->asABBinder(); in AIBinder_setRequestingSid()
738 android::sp<android::IBinder> AIBinder_toPlatformBinder(AIBinder* binder) { in AIBinder_toPlatformBinder() argument
739 if (binder == nullptr) return nullptr; in AIBinder_toPlatformBinder()
740 return binder->getBinder(); in AIBinder_toPlatformBinder()
743 AIBinder* AIBinder_fromPlatformBinder(const android::sp<android::IBinder>& binder) { in AIBinder_fromPlatformBinder() argument
744 sp<AIBinder> ndkBinder = ABpBinder::lookupOrCreateFromBinder(binder); in AIBinder_fromPlatformBinder()