Trait Binder

Source
pub trait Binder: Sized {
    // Required method
    fn bind_by_receiver<'async_trait>(
        self,
        dbus: DBus,
        receiver: Receiver<Message>,
    ) -> Pin<Box<dyn Future<Output = DBusResult<()>> + Send + 'async_trait>>
       where Self: 'async_trait;

    // Provided method
    fn bind<'async_trait>(
        self,
        dbus: DBus,
        object_path: ObjectPath,
    ) -> Pin<Box<dyn Future<Output = DBusResult<()>> + Send + 'async_trait>>
       where Self: Send + 'async_trait { ... }
}

Required Methods§

Source

fn bind_by_receiver<'async_trait>( self, dbus: DBus, receiver: Receiver<Message>, ) -> Pin<Box<dyn Future<Output = DBusResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,

Provided Methods§

Source

fn bind<'async_trait>( self, dbus: DBus, object_path: ObjectPath, ) -> Pin<Box<dyn Future<Output = DBusResult<()>> + Send + 'async_trait>>
where Self: Send + 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T> Binder for Arc<Mutex<T>>
where T: Handler,

Source§

fn bind_by_receiver<'async_trait>( self, dbus: DBus, receiver: Receiver<Message>, ) -> Pin<Box<dyn Future<Output = DBusResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,

Implementors§

Source§

impl<T> Binder for T
where T: Handler,