rusmpp_core/values/
dest_address.rs1pub 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}