Struct PortListenerLocalBuilder

Source
pub struct PortListenerLocalBuilder<'a> { /* private fields */ }
Expand description

A builder for registering port event callbacks.

Use Port::add_listener_local to create this and register callbacks that will be called when events of interest occur. After adding callbacks, use register to get back a PortListener.

§Examples

let port_listener = port.add_listener_local()
    .info(|info| println!("New port info: {info:?}"))
    .param(|seq, param_type, index, next, param| {
        println!("New port param: seq {seq}, param type {param_type:?}, index {index}, next {next}, param {:?}",
            param.map(Pod::as_bytes));
    })
    .register();

Implementations§

Source§

impl<'a> PortListenerLocalBuilder<'a>

Source

pub fn info<F>(self, info: F) -> Self
where F: Fn(&PortInfoRef) + 'static,

Set the port info event callback of the listener.

§Callback parameters

info: Info about the port.

§Examples
let port_listener = port.add_listener_local()
    .info(|info| println!("New port info: {info:?}"))
    .register();
Source

pub fn param<F>(self, param: F) -> Self
where F: Fn(i32, ParamType, u32, u32, Option<&Pod>) + 'static,

Set the port param event callback of the listener.

This event is emitted as a result of enum_params or subscribe_params.

§Callback parameters

seq: The sequence number of the request
param_type: The param type
index: The param index
next: The param index of the next param
param: The param

§Examples
let port_listener = port.add_listener_local()
    .param(|seq, param_type, index, next, param| {
        println!("New port param: seq {seq}, param type {param_type:?}, index {index}, next {next}, param {:?}",
            param.map(Pod::as_bytes));
    })
    .register();
Source

pub fn register(self) -> PortListener

Subscribe to events and register any provided callbacks.

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
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.