#[derive(Clone, Debug, PartialEq, Eq)]
pub enum ConnectionState {
  Connected,
  Disconnected,
}

#[derive(Clone, Debug)]
pub struct WroteReporter {
  pub ok: bool,
  pub binary: Vec<u8>,
  pub control_exit: bool,
  pub exception: Option<String>,
}

#[derive(Clone, Debug)]
pub struct ReadOptions {
  pub timeout: u32,
}

impl Default for ReadOptions {
  fn default() -> Self {
    Self { timeout: 10 }
  }
}

#[derive(Clone, Debug)]
pub struct DeviceWriteOptions {
  pub send_done: bool,
}

impl Default for DeviceWriteOptions {
  fn default() -> Self {
    Self { send_done: true }
  }
}
