use super::types::{DownloadId, DownloadProgress, DownloadState};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum DownloadEvent {
Added { id: DownloadId },
Started { id: DownloadId },
Progress {
id: DownloadId,
progress: DownloadProgress,
},
StateChanged {
id: DownloadId,
old_state: DownloadState,
new_state: DownloadState,
},
Completed { id: DownloadId },
Failed {
id: DownloadId,
error: String,
retryable: bool,
},
Removed { id: DownloadId },
Paused { id: DownloadId },
Resumed { id: DownloadId },
}