rusmpp/values/
network_type.rs1crate::create! {
2 #[repr(u8)]
3 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Default)]
4 #[cfg_attr(feature = "arbitrary", derive(::arbitrary::Arbitrary))]
5 #[cfg_attr(feature = "serde", derive(::serde::Serialize))]
6 #[cfg_attr(feature = "serde-deserialize-unchecked", derive(::serde::Deserialize))]
7 pub enum NetworkType {
8 #[default]
9 Unknown = 0x00,
10 Gsm = 0x01,
11 Ansi136 = 0x02,
12 Is95 = 0x03,
13 Pdc = 0x04,
14 Phs = 0x05,
15 IDen = 0x06,
16 Amps = 0x07,
17 PagingNetwork = 0x08,
18 Other(u8),
19 }
20}
21
22impl From<u8> for NetworkType {
23 fn from(value: u8) -> Self {
24 match value {
25 0x00 => NetworkType::Unknown,
26 0x01 => NetworkType::Gsm,
27 0x02 => NetworkType::Ansi136,
28 0x03 => NetworkType::Is95,
29 0x04 => NetworkType::Pdc,
30 0x05 => NetworkType::Phs,
31 0x06 => NetworkType::IDen,
32 0x07 => NetworkType::Amps,
33 0x08 => NetworkType::PagingNetwork,
34 value => NetworkType::Other(value),
35 }
36 }
37}
38
39impl From<NetworkType> for u8 {
40 fn from(value: NetworkType) -> Self {
41 match value {
42 NetworkType::Unknown => 0x00,
43 NetworkType::Gsm => 0x01,
44 NetworkType::Ansi136 => 0x02,
45 NetworkType::Is95 => 0x03,
46 NetworkType::Pdc => 0x04,
47 NetworkType::Phs => 0x05,
48 NetworkType::IDen => 0x06,
49 NetworkType::Amps => 0x07,
50 NetworkType::PagingNetwork => 0x08,
51 NetworkType::Other(value) => value,
52 }
53 }
54}