binder

Struct AccessorProvider

Source
pub struct AccessorProvider { /* private fields */ }
Expand description

Rust wrapper around ABinderRpc_AccessorProvider objects for RPC binder service management.

Dropping the AccessorProvider will drop/unregister the underlying object.

Implementations§

Source§

impl AccessorProvider

Source

pub fn new<F>(instances: &[String], provider: F) -> Option<AccessorProvider>
where F: Fn(&str) -> Option<Accessor> + Send + Sync + 'static,

Create a new AccessorProvider that will give libbinder Accessors in order to connect to binder services over sockets.

instances is a list of all instances that this AccessorProvider is responsible for. It is declaring these instances as available to this process and will return Accessor objects for them when libbinder calls the provider callback. provider is the callback that libbinder will call when a service is being requested. The callback takes a &str argument representing the service that is being requested. See the ABinderRpc_AccessorProvider_getAccessorCallback for the C++ equivalent.

Trait Implementations§

Source§

impl Debug for AccessorProvider

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for AccessorProvider

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for AccessorProvider

Safety: A AccessorProvider is a wrapper around ABinderRpc_AccessorProvider which is Sync and Send. As ABinderRpc_AccessorProvider is threadsafe, this structure is too. The Fn owned the AccessorProvider has Sync and Send properties

Source§

impl Sync for AccessorProvider

Safety: A AccessorProvider is a wrapper around ABinderRpc_AccessorProvider which is Sync and Send. As ABinderRpc_AccessorProvider is threadsafe, this structure is too. The Fn owned the AccessorProvider has Sync and Send properties

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.