pub trait ControlProxyInterface: Send + Sync {
type AddInputResponseFut: Future<Output = Result<ControlAddInputResult, Error>> + Send;
type AddOutputResponseFut: Future<Output = Result<ControlAddOutputResult, Error>> + Send;
type GetNumDevicesResponseFut: Future<Output = Result<(u32, u32), Error>> + Send;
type RemoveAllResponseFut: Future<Output = Result<(), Error>> + Send;
// Required methods
fn add_input(
&self,
config: Configuration,
server: ServerEnd<DeviceMarker>
) -> Self::AddInputResponseFut;
fn add_output(
&self,
config: Configuration,
server: ServerEnd<DeviceMarker>
) -> Self::AddOutputResponseFut;
fn get_num_devices(&self) -> Self::GetNumDevicesResponseFut;
fn remove_all(&self) -> Self::RemoveAllResponseFut;
}