115d428f9c38c078d679a98942c47ce4a17bd599 |
|
19-Dec-2016 |
Martijn Coenen <maco@google.com> |
Add (un)linkToDeath to generated interfaces. (un)linkToDeath is now a part of IBase, and can be called on any generated HIDL interface. The implementation is a no-op, except in proxy objects, which are by definition a different process than the interface they point to. Since clients are not aware of the transport implementation, we must wrap the transport-independent callback in a transport-specific callback object. In case of binder, that object is a hidl_binder_death_recipient. The binder proxy object contains a list of registered death recipients, as well as a mutex to protect access to the list. The list is required to allow us to map back transport-independent callbacks to transport-dependent callbacks in unlinkToDeath(). Bug: 31632518 Test: mma, hidl_test Change-Id: I5083a8789dd706a886a8a09f8c733031a351a36a
/system/tools/hidl/DeathRecipientType.cpp
|