macro_rules! spa_interface_call {
    ($self:ident, $method:ident:$version:expr, $($arg:expr),*) => { ... };
    ($self:ident, $method:ident, $($arg:expr),*) => { ... };
    ($self:ident, $method:ident) => { ... };
    (@implementation $self:ident, $method:ident:$version:expr, $($arg:expr),*) => { ... };
}
Expand description

Call the method on SPA Interface.

SpaInterface must be implemented for Self.

Examples

pub fn hello(&self, version: u32) -> crate::Result<()> {
    let result = spa_interface_call!(self, hello, version)?;
    i32_as_void_result(result)
}
pub fn sync(&self, id: u32, seq: i32) -> crate::Result<()> {
     let result = spa_interface_call!(self, sync, id, seq)?;
    i32_as_void_result(result)
}

Arguments

  • self - self reference to instance with SPA Interface
  • method:version or `method’ - method name with optional version
  • ... - comma-separated arguments