pub trait ControllerProxyInterface: Send + Sync {
type AddTileFromUrlResponseFut: Future<Output = Result<u32, Error>> + Send;
type AddTileFromViewProviderResponseFut: Future<Output = Result<u32, Error>> + Send;
type ListTilesResponseFut: Future<Output = Result<(Vec<u32>, Vec<String>, Vec<Vec3>, Vec<bool>), Error>> + Send;
// Required methods
fn add_tile_from_url(
&self,
url: &str,
allow_focus: bool,
args: Option<&[String]>
) -> Self::AddTileFromUrlResponseFut;
fn add_tile_from_view_provider(
&self,
url: &str,
provider: ClientEnd<ViewProviderMarker>
) -> Self::AddTileFromViewProviderResponseFut;
fn remove_tile(&self, key: u32) -> Result<(), Error>;
fn list_tiles(&self) -> Self::ListTilesResponseFut;
fn quit(&self) -> Result<(), Error>;
}