18 lines
960 B
Rust
18 lines
960 B
Rust
use wayvr_ipc::{
|
|
packet_client::WvrProcessLaunchParams,
|
|
packet_server::{WvrProcess, WvrProcessHandle, WvrWindow, WvrWindowHandle},
|
|
};
|
|
|
|
pub trait DashInterface<T> {
|
|
fn window_list(&mut self, data: &mut T) -> anyhow::Result<Vec<WvrWindow>>;
|
|
fn window_set_visible(&mut self, data: &mut T, handle: WvrWindowHandle, visible: bool) -> anyhow::Result<()>;
|
|
fn window_request_close(&mut self, data: &mut T, handle: WvrWindowHandle) -> anyhow::Result<()>;
|
|
fn process_get(&mut self, data: &mut T, handle: WvrProcessHandle) -> Option<WvrProcess>;
|
|
fn process_launch(&mut self, data: &mut T, params: WvrProcessLaunchParams) -> anyhow::Result<WvrProcessHandle>;
|
|
fn process_list(&mut self, data: &mut T) -> anyhow::Result<Vec<WvrProcess>>;
|
|
fn process_terminate(&mut self, data: &mut T, handle: WvrProcessHandle) -> anyhow::Result<()>;
|
|
fn recenter_playspace(&mut self, data: &mut T) -> anyhow::Result<()>;
|
|
}
|
|
|
|
pub type BoxDashInterface<T> = Box<dyn DashInterface<T>>;
|