use crate::device::Device;
use crate::types::{AlpacaError, AlpacaResult};
pub trait Switch: Device {
fn max_switch(&self) -> AlpacaResult<i32> {
Err(AlpacaError::NotImplemented("max_switch".into()))
}
fn can_write(&self, _id: u32) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("can_write".into()))
}
fn get_switch(&self, _id: u32) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("get_switch".into()))
}
fn set_switch(&self, _id: u32, _state: bool) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("set_switch".into()))
}
fn get_switch_value(&self, _id: u32) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("get_switch_value".into()))
}
fn set_switch_value(&self, _id: u32, _value: f64) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("set_switch_value".into()))
}
fn get_switch_name(&self, _id: u32) -> AlpacaResult<String> {
Err(AlpacaError::NotImplemented("get_switch_name".into()))
}
fn set_switch_name(&self, _id: u32, _name: &str) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("set_switch_name".into()))
}
fn get_switch_description(&self, _id: u32) -> AlpacaResult<String> {
Err(AlpacaError::NotImplemented("get_switch_description".into()))
}
fn min_switch_value(&self, _id: u32) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("min_switch_value".into()))
}
fn max_switch_value(&self, _id: u32) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("max_switch_value".into()))
}
fn switch_step(&self, _id: u32) -> AlpacaResult<f64> {
Err(AlpacaError::NotImplemented("switch_step".into()))
}
fn can_async(&self, _id: u32) -> AlpacaResult<bool> {
Ok(false)
}
fn set_async(&self, _id: u32, _state: bool) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("set_async".into()))
}
fn set_async_value(&self, _id: u32, _value: f64) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("set_async_value".into()))
}
fn cancel_async(&self, _id: u32) -> AlpacaResult<()> {
Err(AlpacaError::NotImplemented("cancel_async".into()))
}
fn state_change_complete(&self, _id: u32) -> AlpacaResult<bool> {
Err(AlpacaError::NotImplemented("state_change_complete".into()))
}
}