stellar_xdr/generated/
bump_sequence_result_code.rs1#[allow(unused_imports, clippy::wildcard_imports)]
2use super::*;
3
4#[cfg_attr(feature = "alloc", derive(Default))]
18#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
19#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
20#[cfg_attr(
21 all(feature = "serde", feature = "alloc"),
22 derive(serde::Serialize, serde::Deserialize),
23 serde(rename_all = "snake_case")
24)]
25#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
26#[repr(i32)]
27pub enum BumpSequenceResultCode {
28 #[cfg_attr(feature = "alloc", default)]
29 Success = 0,
30 BadSeq = -1,
31}
32
33impl BumpSequenceResultCode {
34 const _VARIANTS: &[BumpSequenceResultCode] = &[
35 BumpSequenceResultCode::Success,
36 BumpSequenceResultCode::BadSeq,
37 ];
38 pub const VARIANTS: [BumpSequenceResultCode; Self::_VARIANTS.len()] = {
39 let mut arr = [Self::_VARIANTS[0]; Self::_VARIANTS.len()];
40 let mut i = 1;
41 while i < Self::_VARIANTS.len() {
42 arr[i] = Self::_VARIANTS[i];
43 i += 1;
44 }
45 arr
46 };
47 const _VARIANTS_STR: &[&str] = &["Success", "BadSeq"];
48 pub const VARIANTS_STR: [&'static str; Self::_VARIANTS_STR.len()] = {
49 let mut arr = [Self::_VARIANTS_STR[0]; Self::_VARIANTS_STR.len()];
50 let mut i = 1;
51 while i < Self::_VARIANTS_STR.len() {
52 arr[i] = Self::_VARIANTS_STR[i];
53 i += 1;
54 }
55 arr
56 };
57
58 #[must_use]
59 pub const fn name(&self) -> &'static str {
60 match self {
61 Self::Success => "Success",
62 Self::BadSeq => "BadSeq",
63 }
64 }
65
66 #[must_use]
67 pub const fn variants() -> [BumpSequenceResultCode; Self::_VARIANTS.len()] {
68 Self::VARIANTS
69 }
70}
71
72impl Name for BumpSequenceResultCode {
73 #[must_use]
74 fn name(&self) -> &'static str {
75 Self::name(self)
76 }
77}
78
79impl Variants<BumpSequenceResultCode> for BumpSequenceResultCode {
80 fn variants() -> slice::Iter<'static, BumpSequenceResultCode> {
81 Self::VARIANTS.iter()
82 }
83}
84
85impl Enum for BumpSequenceResultCode {}
86
87impl fmt::Display for BumpSequenceResultCode {
88 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
89 f.write_str(self.name())
90 }
91}
92
93impl TryFrom<i32> for BumpSequenceResultCode {
94 type Error = Error;
95
96 fn try_from(i: i32) -> Result<Self, Error> {
97 let e = match i {
98 0 => BumpSequenceResultCode::Success,
99 -1 => BumpSequenceResultCode::BadSeq,
100 #[allow(unreachable_patterns)]
101 _ => return Err(Error::Invalid),
102 };
103 Ok(e)
104 }
105}
106
107impl From<BumpSequenceResultCode> for i32 {
108 #[must_use]
109 fn from(e: BumpSequenceResultCode) -> Self {
110 e as Self
111 }
112}
113
114impl ReadXdr for BumpSequenceResultCode {
115 #[cfg(feature = "std")]
116 fn read_xdr<R: Read>(r: &mut Limited<R>) -> Result<Self, Error> {
117 r.with_limited_depth(|r| {
118 let e = i32::read_xdr(r)?;
119 let v: Self = e.try_into()?;
120 Ok(v)
121 })
122 }
123}
124
125impl WriteXdr for BumpSequenceResultCode {
126 #[cfg(feature = "std")]
127 fn write_xdr<W: Write>(&self, w: &mut Limited<W>) -> Result<(), Error> {
128 w.with_limited_depth(|w| {
129 let i: i32 = (*self).into();
130 i.write_xdr(w)
131 })
132 }
133}