package com.isidroid.job_sender.domain.dto

import com.isidroid.job.constant.JobStatus
import com.isidroid.job.model.PrintJob

sealed interface JobSenderResult {
    data class RenderProgress(val position: Int, val total: Int) : JobSenderResult
    data class UploadProgress(val position: Int, val total: Int) : JobSenderResult
    data class Error(val jobId: String, val t: Throwable) : JobSenderResult
    data class Statuses(@JobStatus val status: Int, val jobs: Collection<PrintJob>): JobSenderResult
}