use rusmpp_macros::TlvValue;
use crate::{
tlvs::{
TlvTag,
owned::{Tlv, TlvValue},
},
types::owned::{AnyOctetString, COctetString},
values::*,
};
#[non_exhaustive]
#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, TlvValue)]
#[cfg_attr(feature = "serde", derive(::serde::Serialize))]
#[cfg_attr(feature = "serde-deserialize-unchecked", derive(::serde::Deserialize))]
pub enum MessageSubmissionResponseTlvValue {
AdditionalStatusInfoText(COctetString<1, 256>),
DeliveryFailureReason(DeliveryFailureReason),
DpfResult(DpfResult),
NetworkErrorCode(NetworkErrorCode),
Other { tag: TlvTag, value: AnyOctetString },
}