Macro pipewire_wrapper::spa_interface_call
source · 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 Interfacemethod:version
or `method’ - method name with optional version...
- comma-separated arguments