pub struct BnTrustedAppSession(/* private fields */);
Expand description
A binder Remotable
that holds an ITrustedAppSession
object.
Implementations§
Source§impl BnTrustedAppSession
impl BnTrustedAppSession
Sourcepub fn new_binder<T: ITrustedAppSession + Sync + Send + 'static>(
inner: T,
features: BinderFeatures,
) -> Strong<dyn ITrustedAppSession>
pub fn new_binder<T: ITrustedAppSession + Sync + Send + 'static>( inner: T, features: BinderFeatures, ) -> Strong<dyn ITrustedAppSession>
Create a new binder service.
Sourcepub fn downcast_binder<T: ITrustedAppSession>(&self) -> Option<&T>
pub fn downcast_binder<T: ITrustedAppSession>(&self) -> Option<&T>
Tries to downcast the interface to another type. When receiving this object from a binder call, make sure that the object received is a binder native object and that is of the right type for the Downcast:
let binder = received_object.as_binder();
if !binder.is_remote() {
let binder_native: Binder
Handle the error cases instead of just calling unwrap
or expect
to prevent a
malicious caller to mount a Denial of Service attack.
Source§impl BnTrustedAppSession
impl BnTrustedAppSession
Sourcepub fn new_async_binder<T, R>(
inner: T,
rt: R,
features: BinderFeatures,
) -> Strong<dyn ITrustedAppSession>where
T: ITrustedAppSessionAsyncServer + Interface + Send + Sync + 'static,
R: BinderAsyncRuntime + Send + Sync + 'static,
pub fn new_async_binder<T, R>(
inner: T,
rt: R,
features: BinderFeatures,
) -> Strong<dyn ITrustedAppSession>where
T: ITrustedAppSessionAsyncServer + Interface + Send + Sync + 'static,
R: BinderAsyncRuntime + Send + Sync + 'static,
Create a new async binder service.
pub fn try_into_local_async<P: BinderAsyncPool + 'static>( _native: Binder<Self>, ) -> Option<Strong<dyn ITrustedAppSessionAsync<P>>>
Trait Implementations§
Source§impl Remotable for BnTrustedAppSession
impl Remotable for BnTrustedAppSession
Source§fn get_descriptor() -> &'static str
fn get_descriptor() -> &'static str
The Binder interface descriptor string. Read more
Source§fn on_transact(
&self,
code: TransactionCode,
data: &BorrowedParcel<'_>,
reply: &mut BorrowedParcel<'_>,
) -> Result<(), StatusCode>
fn on_transact( &self, code: TransactionCode, data: &BorrowedParcel<'_>, reply: &mut BorrowedParcel<'_>, ) -> Result<(), StatusCode>
Handle and reply to a request to invoke a transaction on this object. Read more
Source§fn on_dump(
&self,
writer: &mut dyn Write,
args: &[&CStr],
) -> Result<(), StatusCode>
fn on_dump( &self, writer: &mut dyn Write, args: &[&CStr], ) -> Result<(), StatusCode>
Handle a request to invoke the dump transaction on this
object.
Source§fn get_class() -> InterfaceClass
fn get_class() -> InterfaceClass
Retrieve the class of this remote object. Read more
Auto Trait Implementations§
impl Freeze for BnTrustedAppSession
impl !RefUnwindSafe for BnTrustedAppSession
impl Send for BnTrustedAppSession
impl Sync for BnTrustedAppSession
impl Unpin for BnTrustedAppSession
impl !UnwindSafe for BnTrustedAppSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn 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>
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)
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)
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.