#[cfg(feature = "winit")]
use crate::app;
#[cfg(feature = "single-instance")]
use crate::dbus_activation;
pub const fn app<M>(message: M) -> Action<M> {
Action::App(message)
}
#[cfg(feature = "winit")]
pub const fn cosmic<M>(message: app::Action) -> Action<M> {
Action::Cosmic(message)
}
pub const fn none<M>() -> Action<M> {
Action::None
}
#[derive(Clone, Debug)]
#[must_use]
pub enum Action<M> {
App(M),
#[cfg(feature = "winit")]
Cosmic(app::Action),
#[cfg(feature = "single-instance")]
DbusActivation(dbus_activation::Message),
None,
}
impl<M> From<M> for Action<M> {
fn from(value: M) -> Self {
Self::App(value)
}
}