rusmpp_core/values/broadcast_area_identifier/
owned.rs1use rusmpp_macros::Rusmpp;
2
3use crate::types::owned::AnyOctetString;
4
5use super::BroadcastAreaFormat;
6
7#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Default, Rusmpp)]
9#[rusmpp(decode = owned)]
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 struct BroadcastAreaIdentifier {
14 pub format: BroadcastAreaFormat,
15 #[rusmpp(length = "unchecked")]
16 pub area: AnyOctetString,
17}
18
19impl BroadcastAreaIdentifier {
20 pub fn new(format: BroadcastAreaFormat, area: AnyOctetString) -> Self {
21 Self { format, area }
22 }
23}
24
25#[cfg(test)]
26mod tests {
27 use super::*;
28
29 #[test]
30 fn encode_decode() {
31 #[cfg(feature = "alloc")]
32 crate::tests::owned::encode_decode_with_length_test_instances::<BroadcastAreaIdentifier>();
33 }
34}