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