use mineral_protocol::{DownloadId, DownloadSummary, DownloadTarget, SongDownloadView};
use super::PlayerCore;
impl PlayerCore {
pub(crate) fn download_summary(&self) -> DownloadSummary {
self.inner.downloads.summary()
}
pub(crate) fn download_snapshot(&self) -> Vec<SongDownloadView> {
self.inner.downloads.snapshot()
}
pub(crate) fn download_changes(&self) -> tokio::sync::watch::Receiver<u64> {
self.inner.downloads.changes()
}
pub(crate) fn download(&self, target: DownloadTarget) {
self.inner.downloads.submit(target)
}
pub(crate) fn stop_download(&self, id: &DownloadId) -> Result<(), crate::download::StopError> {
self.inner.downloads.stop(id)
}
pub(crate) async fn shutdown_downloads(&self) {
self.inner.downloads.shutdown().await;
}
}