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