use crate::*;
impl CFRH320U93 {
pub fn device_languages(&self) -> Result<Vec<rusb::Language>, ReaderError> {
let result = self.handle.read_languages(self.timeout);
match result {
Ok(l) => Ok(l),
Err(e) => Err(e.into())
}
}
pub fn manufacturer(&self) -> Result<String, ReaderError> {
let lang = self.device_languages()?[0];
let result = self.handle
.read_manufacturer_string(
lang,
&self.handle.device().device_descriptor()?,
self.timeout);
match result {
Ok(l) => Ok(l),
Err(e) => Err(e.into())
}
}
pub fn product_string(&self) -> Result<String, ReaderError> {
let lang = self.device_languages()?[0];
let result = self.handle
.read_product_string(
lang,
&self.handle.device().device_descriptor()?,
self.timeout);
match result {
Ok(l) => Ok(l),
Err(e) => Err(e.into())
}
}
pub fn serial_number(&self) -> Result<String, ReaderError> {
let lang = self.device_languages()?[0];
let result = self.handle
.read_serial_number_string(
lang,
&self.handle.device().device_descriptor()?,
self.timeout);
match result {
Ok(l) => Ok(l),
Err(e) => Err(e.into())
}
}
}