rusmpp_core/values/
dest_address.rs

1pub mod borrowed;
2#[cfg(feature = "alloc")]
3#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
4pub mod owned;
5
6use rusmpp_macros::Rusmpp;
7
8#[repr(u8)]
9#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Default, Rusmpp)]
10#[cfg_attr(feature = "arbitrary", derive(::arbitrary::Arbitrary))]
11#[cfg_attr(feature = "serde", derive(::serde::Serialize))]
12#[cfg_attr(feature = "serde-deserialize-unchecked", derive(::serde::Deserialize))]
13pub enum DestFlag {
14    #[default]
15    SmeAddress = 0x01,
16    DistributionListName = 0x02,
17    Other(u8),
18}
19
20impl From<DestFlag> for u32 {
21    fn from(value: DestFlag) -> Self {
22        u8::from(value).into()
23    }
24}
25
26#[cfg(test)]
27mod tests {
28    use super::*;
29
30    #[test]
31    fn encode_decode() {
32        #[cfg(feature = "alloc")]
33        crate::tests::owned::encode_decode_test_instances::<DestFlag>();
34        crate::tests::borrowed::encode_decode_test_instances::<DestFlag>();
35    }
36}