use crate::jobs::data_types::JobStatus;
use super::{
config::Config,
encoding::{json::JobStatusReason, FileContext},
error::OtaError,
};
pub mod mqtt;
pub trait ControlInterface {
fn init(&self) -> Result<(), OtaError>;
fn request_job(&self) -> Result<(), OtaError>;
fn update_job_status(
&self,
file_ctx: &mut FileContext,
config: &Config,
status: JobStatus,
reason: JobStatusReason,
) -> Result<(), OtaError>;
fn cleanup(&self) -> Result<(), OtaError>;
}