1use crate::tasks::{config::StreamSource, error::TaskError, state::TaskTerminateReason};
2
3#[derive(Debug, Clone)]
4pub enum TaskEvent {
5 Started {
6 task_name: String,
7 },
8 Output {
9 task_name: String,
10 line: String,
11 src: StreamSource,
12 },
13 Ready {
14 task_name: String,
15 },
16 Stopped {
17 task_name: String,
18 exit_code: Option<i32>,
19 reason: TaskEventStopReason,
20 },
21 Error {
22 task_name: String,
23 error: TaskError,
24 },
25}
26#[derive(Debug, Clone, PartialEq)]
27pub enum TaskEventStopReason {
28 Finished,
29 Terminated(TaskTerminateReason),
30 Error(String),
31}