huawei-modem 0.2.2

A set of utilities for interfacing with USB 3G/HSDPA/UMTS modems (particularly Huawei models) that use the Hayes/AT command set.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use num::FromPrimitive;
use crate::errors::{HuaweiResult, HuaweiError};
use crate::at::AtValue;

pub trait HuaweiFromPrimitive where Self: Sized {
    fn from_integer(i: u32) -> HuaweiResult<Self>;
}
impl<T> HuaweiFromPrimitive for T where T: FromPrimitive {
    fn from_integer(i: u32) -> HuaweiResult<T> {
        if let Some(s) = T::from_u32(i) {
            Ok(s)
        }
        else {
            Err(HuaweiError::ValueOutOfRange(AtValue::Integer(i)))
        }
    }
}