#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Application {
pub id: String,
pub name: String,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum HandlerQuery {
Url(String),
Scheme(String),
MimeType(String),
Extension(String),
}
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct ApplicationHandlers {
pub default: Option<Application>,
pub applications: Vec<Application>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ApplicationError {
Unsupported,
InvalidInput,
NotFound,
LaunchFailed,
}
pub type OpenApplicationCompletion = Box<dyn FnOnce(Result<(), ApplicationError>) + Send>;