#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum UpdateState {
Idle,
RefreshNeeded,
Refreshed,
Compared,
Notified,
Complete,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SkipReason {
DevBuild,
EmptyVersion,
}
#[derive(Debug, Clone)]
pub enum UpdateEvent {
Skipped(SkipReason),
Checked { has_update: bool },
UpdateAvailable { current: String, latest: String },
NoUpdate,
}
#[derive(Debug, Clone)]
pub struct UpdateCheckResult {
pub state: UpdateState,
pub message: Option<String>,
pub event: UpdateEvent,
}