#[derive(Debug)]
pub enum SubmissionState {
Waiting,
Running,
Done,
Error,
}
impl std::fmt::Display for SubmissionState {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{self:?}")
}
}
#[derive(Debug)]
pub enum SubmissionUpdate {
State(SubmissionState),
TaskCompleted(bool, i32),
LogLine(String),
Save,
}
impl From<SubmissionState> for SubmissionUpdate {
fn from(value: SubmissionState) -> Self {
Self::State(value)
}
}
impl From<(bool, i32)> for SubmissionUpdate {
fn from((b, i): (bool, i32)) -> Self {
Self::TaskCompleted(b, i)
}
}
impl From<String> for SubmissionUpdate {
fn from(value: String) -> Self {
Self::LogLine(value)
}
}