Module binder_impl

Source
Expand description

Advanced Binder APIs needed internally by AIDL or when manually using Binder without AIDL.

Structs§

Binder
Rust wrapper around Binder remotable objects.
BorrowedParcel
Container for a message (data and object references) that can be sent through Binder.
InterfaceClass
Opaque reference to the type of a Binder interface.
Parcel
Container for a message (data and object references) that can be sent through Binder.

Enums§

LocalStabilityType
Stability::Local.
Stability
Interface stability promise
VintfStabilityType
Stability::Vintf.

Constants§

FIRST_CALL_TRANSACTION
First transaction code available for user commands (inclusive)
FLAG_CLEAR_BUF
Corresponds to TF_CLEAR_BUF – clear transaction buffers after call is made.
FLAG_ONEWAY
Corresponds to TF_ONE_WAY – an asynchronous call.
FLAG_PRIVATE_LOCAL
Set to the vendor flag if we are building for the VNDK, 0 otherwise
LAST_CALL_TRANSACTION
Last transaction code available for user commands (inclusive)
NON_NULL_PARCELABLE_FLAG
Flag that specifies that the following parcelable is present.
NULL_PARCELABLE_FLAG
Flag that specifies that the following parcelable is absent.

Traits§

AssociateClass
An object that can be associate with an InterfaceClass.
BinderAsyncRuntime
A runtime for executing an async binder server.
Deserialize
A struct whose instances can be restored from a crate::parcel::Parcel.
DeserializeArray
Helper trait for types that can be deserialized as arrays. Defaults to calling Deserialize::deserialize() manually for every element, but can be overridden for custom implementations like readByteArray.
DeserializeOption
Helper trait for types that can be nullable when deserialized.
IBinderInternal
Internal interface of binder local or remote objects for making transactions.
ParcelableMetadata
Metadata that ParcelableHolder needs for all parcelables.
Proxy
Generic interface to remote binder objects.
Remotable
A local service that can be remotable via Binder.
Serialize
A struct whose instances can be written to a crate::parcel::Parcel.
SerializeArray
Helper trait for types that can be serialized as arrays. Defaults to calling Serialize::serialize() manually for every element, but can be overridden for custom implementations like writeByteArray.
SerializeOption
Helper trait for types that can be nullable when serialized.
StabilityType
Same as Stability, but in the form of a trait. Used when the stability should be encoded in the type.
ToAsyncInterface
Implemented by sync interfaces to specify what the associated async interface is. Generic to handle the fact that async interfaces are generic over a thread pool.
ToSyncInterface
Implemented by async interfaces to specify what the associated sync interface is.
UnstructuredParcelable
Super-trait for unstructured Binder parcelables, i.e. those implemented manually.

Type Aliases§

TransactionCode
Binder action to perform.
TransactionFlags
Additional operation flags.
status_t
One of the STATUS_* values.