1#![allow(dead_code, unused_imports, unused_variables, non_camel_case_types, unused_parens)]
2
3use emboss_runtime::prelude::*;
4pub use emboss_runtime::{BitFlag, Error, Flag, InfallibleRead, Int, MutStorage, Storage, TryRead, TryWrite, UInt, View, VirtualField};
5
6
7
8#[derive(Copy, Clone, Debug, Eq, PartialEq)]
9#[repr(u64)]
10pub enum AttOpcode {
11 ATT_ERROR_RSP = 1,
12 ATT_EXCHANGE_MTU_REQ = 2,
13 ATT_EXCHANGE_MTU_RSP = 3,
14 ATT_FIND_INFORMATION_REQ = 4,
15 ATT_FIND_INFORMATION_RSP = 5,
16 ATT_FIND_BY_TYPE_VALUE_REQ = 6,
17 ATT_FIND_BY_TYPE_VALUE_RSP = 7,
18 ATT_READ_BY_TYPE_REQ = 8,
19 ATT_READ_BY_TYPE_RSP = 9,
20 ATT_READ_REQ = 10,
21 ATT_READ_RSP = 11,
22 ATT_READ_BLOB_REQ = 12,
23 ATT_READ_BLOB_RSP = 13,
24 ATT_READ_MULTIPLE_REQ = 14,
25 ATT_READ_MULTIPLE_RSP = 15,
26 ATT_READ_BY_GROUP_TYPE_REQ = 16,
27 ATT_READ_BY_GROUP_TYPE_RSP = 17,
28 ATT_WRITE_REQ = 18,
29 ATT_WRITE_RSP = 19,
30 ATT_WRITE_CMD = 82,
31 ATT_PREPARE_WRITE_REQ = 22,
32 ATT_PREPARE_WRITE_RSP = 23,
33 ATT_EXECUTE_WRITE_REQ = 24,
34 ATT_EXECUTE_WRITE_RSP = 25,
35 ATT_READ_MULTIPLE_VARIABLE_REQ = 32,
36 ATT_READ_MULTIPLE_VARIABLE_RSP = 33,
37 ATT_MULTIPLE_HANDLE_VALUE_NTF = 35,
38 ATT_HANDLE_VALUE_NTF = 27,
39 ATT_HANDLE_VALUE_IND = 29,
40 ATT_HANDLE_VALUE_CFM = 30,
41 ATT_SIGNED_WRITE_CMD = 210,
42
43}
44
45impl core::convert::From<AttOpcode> for u8 { fn from(val: AttOpcode) -> Self { val as u8 } }
46impl core::convert::From<AttOpcode> for u16 { fn from(val: AttOpcode) -> Self { val as u16 } }
47impl core::convert::From<AttOpcode> for u32 { fn from(val: AttOpcode) -> Self { val as u32 } }
48impl core::convert::From<AttOpcode> for u64 { fn from(val: AttOpcode) -> Self { val as u64 } }
49impl core::convert::From<AttOpcode> for i8 { fn from(val: AttOpcode) -> Self { val as i8 } }
50impl core::convert::From<AttOpcode> for i16 { fn from(val: AttOpcode) -> Self { val as i16 } }
51impl core::convert::From<AttOpcode> for i32 { fn from(val: AttOpcode) -> Self { val as i32 } }
52impl core::convert::From<AttOpcode> for i64 { fn from(val: AttOpcode) -> Self { val as i64 } }
53
54impl emboss_runtime::SafeCmp<AttOpcode> for AttOpcode {
55 fn safe_eq(&self, other: Self) -> bool { *self == other }
56 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
57}
58
59impl emboss_runtime::SafeCmp<u64> for AttOpcode {
60 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
61 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
62}
63
64impl emboss_runtime::SafeCmp<i64> for AttOpcode {
65 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
66 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
67}
68
69impl emboss_runtime::SafeCmp<i32> for AttOpcode {
70 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
71 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
72}
73
74impl emboss_runtime::SafeCmp<u32> for AttOpcode {
75 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
76 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
77}
78
79impl emboss_runtime::SafeCmp<AttOpcode> for u64 {
80 fn safe_eq(&self, other: AttOpcode) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
81 fn safe_less(&self, other: AttOpcode) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
82}
83
84impl emboss_runtime::SafeCmp<AttOpcode> for i64 {
85 fn safe_eq(&self, other: AttOpcode) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
86 fn safe_less(&self, other: AttOpcode) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
87}
88
89impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for AttOpcode {
90 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
91 let v_raw: u64 = val.into();
92 match v_raw {
93 1 => Ok(AttOpcode::ATT_ERROR_RSP),
94 2 => Ok(AttOpcode::ATT_EXCHANGE_MTU_REQ),
95 3 => Ok(AttOpcode::ATT_EXCHANGE_MTU_RSP),
96 4 => Ok(AttOpcode::ATT_FIND_INFORMATION_REQ),
97 5 => Ok(AttOpcode::ATT_FIND_INFORMATION_RSP),
98 6 => Ok(AttOpcode::ATT_FIND_BY_TYPE_VALUE_REQ),
99 7 => Ok(AttOpcode::ATT_FIND_BY_TYPE_VALUE_RSP),
100 8 => Ok(AttOpcode::ATT_READ_BY_TYPE_REQ),
101 9 => Ok(AttOpcode::ATT_READ_BY_TYPE_RSP),
102 10 => Ok(AttOpcode::ATT_READ_REQ),
103 11 => Ok(AttOpcode::ATT_READ_RSP),
104 12 => Ok(AttOpcode::ATT_READ_BLOB_REQ),
105 13 => Ok(AttOpcode::ATT_READ_BLOB_RSP),
106 14 => Ok(AttOpcode::ATT_READ_MULTIPLE_REQ),
107 15 => Ok(AttOpcode::ATT_READ_MULTIPLE_RSP),
108 16 => Ok(AttOpcode::ATT_READ_BY_GROUP_TYPE_REQ),
109 17 => Ok(AttOpcode::ATT_READ_BY_GROUP_TYPE_RSP),
110 18 => Ok(AttOpcode::ATT_WRITE_REQ),
111 19 => Ok(AttOpcode::ATT_WRITE_RSP),
112 82 => Ok(AttOpcode::ATT_WRITE_CMD),
113 22 => Ok(AttOpcode::ATT_PREPARE_WRITE_REQ),
114 23 => Ok(AttOpcode::ATT_PREPARE_WRITE_RSP),
115 24 => Ok(AttOpcode::ATT_EXECUTE_WRITE_REQ),
116 25 => Ok(AttOpcode::ATT_EXECUTE_WRITE_RSP),
117 32 => Ok(AttOpcode::ATT_READ_MULTIPLE_VARIABLE_REQ),
118 33 => Ok(AttOpcode::ATT_READ_MULTIPLE_VARIABLE_RSP),
119 35 => Ok(AttOpcode::ATT_MULTIPLE_HANDLE_VALUE_NTF),
120 27 => Ok(AttOpcode::ATT_HANDLE_VALUE_NTF),
121 29 => Ok(AttOpcode::ATT_HANDLE_VALUE_IND),
122 30 => Ok(AttOpcode::ATT_HANDLE_VALUE_CFM),
123 210 => Ok(AttOpcode::ATT_SIGNED_WRITE_CMD),
124
125 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
126 }
127 }
128}
129
130impl AttOpcode {
131
132}
133#[derive(Copy, Clone, Debug, Eq, PartialEq)]
134#[repr(u64)]
135pub enum ErrorCode {
136 INVALID_HANDLE = 1,
137 READ_NOT_PERMITTED = 2,
138 WRITE_NOT_PERMITTED = 3,
139 INVALID_PDU = 4,
140 INSUFFICIENT_AUTHENTICATION = 5,
141 REQUEST_NOT_SUPPORTED = 6,
142 INVALID_OFFSET = 7,
143 INSUFFICIENT_AUTHORIZATION = 8,
144 PREPARE_QUEUE_FULL = 9,
145 ATTRIBUTE_NOT_FOUND = 10,
146 ATTRIBUTE_NOT_LONG = 11,
147 INSUFFICIENT_ENCRYPTION_KEY_SIZE = 12,
148 INVALID_ATTRIBUTE_VALUE_LENGTH = 13,
149 UNLIKELY_ERROR = 14,
150 INSUFFICIENT_ENCRYPTION = 15,
151 UNSUPPORTED_GROUP_TYPE = 16,
152 INSUFFICIENT_RESOURCES = 17,
153 VALUE_NOT_ALLOWED = 19,
154
155}
156
157impl core::convert::From<ErrorCode> for u8 { fn from(val: ErrorCode) -> Self { val as u8 } }
158impl core::convert::From<ErrorCode> for u16 { fn from(val: ErrorCode) -> Self { val as u16 } }
159impl core::convert::From<ErrorCode> for u32 { fn from(val: ErrorCode) -> Self { val as u32 } }
160impl core::convert::From<ErrorCode> for u64 { fn from(val: ErrorCode) -> Self { val as u64 } }
161impl core::convert::From<ErrorCode> for i8 { fn from(val: ErrorCode) -> Self { val as i8 } }
162impl core::convert::From<ErrorCode> for i16 { fn from(val: ErrorCode) -> Self { val as i16 } }
163impl core::convert::From<ErrorCode> for i32 { fn from(val: ErrorCode) -> Self { val as i32 } }
164impl core::convert::From<ErrorCode> for i64 { fn from(val: ErrorCode) -> Self { val as i64 } }
165
166impl emboss_runtime::SafeCmp<ErrorCode> for ErrorCode {
167 fn safe_eq(&self, other: Self) -> bool { *self == other }
168 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
169}
170
171impl emboss_runtime::SafeCmp<u64> for ErrorCode {
172 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
173 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
174}
175
176impl emboss_runtime::SafeCmp<i64> for ErrorCode {
177 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
178 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
179}
180
181impl emboss_runtime::SafeCmp<i32> for ErrorCode {
182 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
183 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
184}
185
186impl emboss_runtime::SafeCmp<u32> for ErrorCode {
187 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
188 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
189}
190
191impl emboss_runtime::SafeCmp<ErrorCode> for u64 {
192 fn safe_eq(&self, other: ErrorCode) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
193 fn safe_less(&self, other: ErrorCode) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
194}
195
196impl emboss_runtime::SafeCmp<ErrorCode> for i64 {
197 fn safe_eq(&self, other: ErrorCode) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
198 fn safe_less(&self, other: ErrorCode) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
199}
200
201impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for ErrorCode {
202 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
203 let v_raw: u64 = val.into();
204 match v_raw {
205 1 => Ok(ErrorCode::INVALID_HANDLE),
206 2 => Ok(ErrorCode::READ_NOT_PERMITTED),
207 3 => Ok(ErrorCode::WRITE_NOT_PERMITTED),
208 4 => Ok(ErrorCode::INVALID_PDU),
209 5 => Ok(ErrorCode::INSUFFICIENT_AUTHENTICATION),
210 6 => Ok(ErrorCode::REQUEST_NOT_SUPPORTED),
211 7 => Ok(ErrorCode::INVALID_OFFSET),
212 8 => Ok(ErrorCode::INSUFFICIENT_AUTHORIZATION),
213 9 => Ok(ErrorCode::PREPARE_QUEUE_FULL),
214 10 => Ok(ErrorCode::ATTRIBUTE_NOT_FOUND),
215 11 => Ok(ErrorCode::ATTRIBUTE_NOT_LONG),
216 12 => Ok(ErrorCode::INSUFFICIENT_ENCRYPTION_KEY_SIZE),
217 13 => Ok(ErrorCode::INVALID_ATTRIBUTE_VALUE_LENGTH),
218 14 => Ok(ErrorCode::UNLIKELY_ERROR),
219 15 => Ok(ErrorCode::INSUFFICIENT_ENCRYPTION),
220 16 => Ok(ErrorCode::UNSUPPORTED_GROUP_TYPE),
221 17 => Ok(ErrorCode::INSUFFICIENT_RESOURCES),
222 19 => Ok(ErrorCode::VALUE_NOT_ALLOWED),
223
224 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
225 }
226 }
227}
228
229impl ErrorCode {
230
231}
232pub struct AttHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
233 storage: S,
234 _marker: core::marker::PhantomData<ST>,
235}
236
237impl<S: emboss_runtime::Storage> AttHeader<S, emboss_runtime::UncheckedState> {
238 pub fn new(storage: S) -> Self {
239 Self {
240 storage,
241 _marker: core::marker::PhantomData,
242 }
243 }
244}
245
246impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttHeader<S, ST> {
247 fn clone(&self) -> Self {
248 Self {
249 storage: self.storage.clone(),
250 _marker: core::marker::PhantomData,
251 }
252 }
253}
254
255impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttHeader<S, ST> {
256 pub unsafe fn new_in_state(storage: S) -> Self {
264 Self {
265 storage,
266 _marker: core::marker::PhantomData,
267 }
268 }
269 pub fn into_storage(self) -> S {
270 self.storage
271 }
272 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
273 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
274 let offset = (0) as usize;
275 let len = (1) as usize;
276 core::result::Result::Ok((offset, len))
277 })().unwrap_or((usize::MAX, 0));
278 let storage = self.storage.slice(offset, len);
279 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
280 }
281
282}
283
284pub struct AttHeaderMut<S: emboss_runtime::MutStorage> {
285 storage: S,
286}
287
288impl<S: emboss_runtime::MutStorage> AttHeaderMut<S> {
289 pub fn new(storage: S) -> Self {
290 Self {
291 storage,
292 }
293 }
294 pub fn into_writer(self) -> AttHeaderWriter<S, emboss_runtime::UncheckedState> {
295 AttHeaderWriter::new(self.storage)
296 }
297 pub fn as_view(&self) -> AttHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
299 unsafe { AttHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
300 }
301 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
302 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
303 let offset = (0) as usize;
304 let len = (1) as usize;
305 core::result::Result::Ok((offset, len))
306 })().unwrap_or((usize::MAX, 0));
307 let storage = self.storage.slice_mut(offset, len);
308 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
309 }
310
311}
312
313impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttHeaderMut<S> {
314 type Writer = AttHeaderWriter<S, emboss_runtime::UncheckedState>;
315 fn into_writer(self) -> Self::Writer {
316 AttHeaderWriter::new(self.storage)
317 }
318}
319
320pub struct AttHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
321 storage: S,
322 _marker: core::marker::PhantomData<ST>,
323}
324
325impl<S: emboss_runtime::MutStorage> AttHeaderWriter<S, emboss_runtime::UncheckedState> {
326 pub fn new(storage: S) -> Self {
327 Self {
328 storage,
329 _marker: core::marker::PhantomData,
330 }
331 }
332}
333
334impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttHeaderWriter<S, ST> {
335 pub unsafe fn new_in_state(storage: S) -> Self {
343 Self {
344 storage,
345 _marker: core::marker::PhantomData,
346 }
347 }
348 pub fn into_storage(self) -> S {
349 self.storage
350 }
351 pub fn into_view(self) -> AttHeader<S, ST> {
353 unsafe { AttHeader::new_in_state(self.storage) }
354 }
355 pub fn as_view(&self) -> AttHeader<S::Sliced<'_>, ST> {
357 unsafe { AttHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
358 }
359 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttHeaderWriter<S, ST::OnValidMutation> {
360 let view = self.into_view();
361 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
362 let offset = (0) as usize;
363 let len = (1) as usize;
364 core::result::Result::Ok((offset, len))
365 })().expect("valid layout in complete state");
366 let mut storage = view.into_storage();
367 {
368 let slice = storage.slice_mut(offset, len);
369 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
370 field_view.try_write(val).expect("valid write in complete state");
371 }
372 unsafe { AttHeaderWriter::new_in_state(storage) }
373 }
374
375}
376
377impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttHeader<S, ST> {
378 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
379 let view = self;
380 core::result::Result::Ok((1) as usize)
381 }
382}
383
384impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttHeaderMut<S> {
385 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
386 let view = self.as_view();
387 <AttHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
388 }
389}
390
391impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttHeaderWriter<S, ST> {
392 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
393 let view = self.as_view();
394 <AttHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
395 }
396}
397
398impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttHeader<S, emboss_runtime::UncheckedState> {
399 type Completed = AttHeader<S, emboss_runtime::CompleteState>;
400 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
401 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
402 if self.storage.len() < required_size {
403 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
404 }
405 core::result::Result::Ok(unsafe { AttHeader::new_in_state(self.storage) })
406 }
407}
408
409impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttHeaderWriter<S, emboss_runtime::UncheckedState> {
410 type Completed = AttHeaderWriter<S, emboss_runtime::CompleteState>;
411 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
412 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
413 if self.storage.len() < required_size {
414 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
415 }
416 core::result::Result::Ok(unsafe { AttHeaderWriter::new_in_state(self.storage) })
417 }
418}
419
420impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHeader<S, emboss_runtime::UncheckedState> {
421 type Ok = AttHeader<S, emboss_runtime::OkState>;
422 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
423 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
424 core::result::Result::Ok(unsafe { AttHeader::new_in_state(completed.into_storage()) })
425 }
426}
427
428impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHeader<S, emboss_runtime::CompleteState> {
429 type Ok = AttHeader<S, emboss_runtime::OkState>;
430 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
431 core::result::Result::Ok(unsafe { AttHeader::new_in_state(self.into_storage()) })
432 }
433}
434
435impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHeader<S, emboss_runtime::OkState> {
436 type Ok = AttHeader<S, emboss_runtime::OkState>;
437 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
438 core::result::Result::Ok(self)
439 }
440}
441
442impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHeaderWriter<S, emboss_runtime::UncheckedState> {
443 type Ok = AttHeaderWriter<S, emboss_runtime::OkState>;
444 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
445 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
446 core::result::Result::Ok(unsafe { AttHeaderWriter::new_in_state(completed.into_storage()) })
447 }
448}
449
450impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHeaderWriter<S, emboss_runtime::CompleteState> {
451 type Ok = AttHeaderWriter<S, emboss_runtime::OkState>;
452 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
453 core::result::Result::Ok(unsafe { AttHeaderWriter::new_in_state(self.into_storage()) })
454 }
455}
456
457impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHeaderWriter<S, emboss_runtime::OkState> {
458 type Ok = AttHeaderWriter<S, emboss_runtime::OkState>;
459 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
460 core::result::Result::Ok(self)
461 }
462}
463
464pub mod att_header {
465 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttHeader<S, ST>;
466 pub type ViewMut<S> = super::AttHeaderMut<S>;
467 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttHeaderWriter<S, ST>;
468
469 pub const MIN_SIZE_IN_BYTES: usize = 1;
470 pub const MAX_SIZE_IN_BYTES: usize = 1;
471 pub const SIZE_IN_BYTES: usize = 1;
472}pub struct AttErrorRsp<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
473 storage: S,
474 _marker: core::marker::PhantomData<ST>,
475}
476
477impl<S: emboss_runtime::Storage> AttErrorRsp<S, emboss_runtime::UncheckedState> {
478 pub fn new(storage: S) -> Self {
479 Self {
480 storage,
481 _marker: core::marker::PhantomData,
482 }
483 }
484}
485
486impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttErrorRsp<S, ST> {
487 fn clone(&self) -> Self {
488 Self {
489 storage: self.storage.clone(),
490 _marker: core::marker::PhantomData,
491 }
492 }
493}
494
495impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttErrorRsp<S, ST> {
496 pub unsafe fn new_in_state(storage: S) -> Self {
504 Self {
505 storage,
506 _marker: core::marker::PhantomData,
507 }
508 }
509 pub fn into_storage(self) -> S {
510 self.storage
511 }
512 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
513 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
514 let offset = (0) as usize;
515 let len = (1) as usize;
516 core::result::Result::Ok((offset, len))
517 })().unwrap_or((usize::MAX, 0));
518 let storage = self.storage.slice(offset, len);
519 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
520 }
521 pub fn request_opcode_in_error(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
522 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
523 let offset = (1) as usize;
524 let len = (1) as usize;
525 core::result::Result::Ok((offset, len))
526 })().unwrap_or((usize::MAX, 0));
527 let storage = self.storage.slice(offset, len);
528 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
529 }
530 pub fn request_opcode_in_error_uint(&self) -> UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
531 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
532 let offset = (1) as usize;
533 let len = (1) as usize;
534 core::result::Result::Ok((offset, len))
535 })().unwrap_or((usize::MAX, 0));
536 let storage = self.storage.slice(offset, len);
537 UInt::<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
538 }
539 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
540 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
541 let offset = (2) as usize;
542 let len = (2) as usize;
543 core::result::Result::Ok((offset, len))
544 })().unwrap_or((usize::MAX, 0));
545 let storage = self.storage.slice(offset, len);
546 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
547 }
548 pub fn error_code(&self) -> emboss_runtime::EnumView<ErrorCode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
549 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
550 let offset = (4) as usize;
551 let len = (1) as usize;
552 core::result::Result::Ok((offset, len))
553 })().unwrap_or((usize::MAX, 0));
554 let storage = self.storage.slice(offset, len);
555 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
556 }
557
558}
559
560pub struct AttErrorRspMut<S: emboss_runtime::MutStorage> {
561 storage: S,
562}
563
564impl<S: emboss_runtime::MutStorage> AttErrorRspMut<S> {
565 pub fn new(storage: S) -> Self {
566 Self {
567 storage,
568 }
569 }
570 pub fn into_writer(self) -> AttErrorRspWriter<S, emboss_runtime::UncheckedState> {
571 AttErrorRspWriter::new(self.storage)
572 }
573 pub fn as_view(&self) -> AttErrorRsp<S::Sliced<'_>, emboss_runtime::UncheckedState> {
575 unsafe { AttErrorRsp::new_in_state(self.storage.slice(0, self.storage.len())) }
576 }
577 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
578 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
579 let offset = (0) as usize;
580 let len = (1) as usize;
581 core::result::Result::Ok((offset, len))
582 })().unwrap_or((usize::MAX, 0));
583 let storage = self.storage.slice_mut(offset, len);
584 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
585 }
586 pub fn request_opcode_in_error(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
587 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
588 let offset = (1) as usize;
589 let len = (1) as usize;
590 core::result::Result::Ok((offset, len))
591 })().unwrap_or((usize::MAX, 0));
592 let storage = self.storage.slice_mut(offset, len);
593 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
594 }
595 pub fn request_opcode_in_error_uint(&mut self) -> UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
596 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
597 let offset = (1) as usize;
598 let len = (1) as usize;
599 core::result::Result::Ok((offset, len))
600 })().unwrap_or((usize::MAX, 0));
601 let storage = self.storage.slice_mut(offset, len);
602 UInt::<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
603 }
604 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
605 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
606 let offset = (2) as usize;
607 let len = (2) as usize;
608 core::result::Result::Ok((offset, len))
609 })().unwrap_or((usize::MAX, 0));
610 let storage = self.storage.slice_mut(offset, len);
611 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
612 }
613 pub fn error_code(&mut self) -> emboss_runtime::EnumViewMut<ErrorCode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
614 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
615 let offset = (4) as usize;
616 let len = (1) as usize;
617 core::result::Result::Ok((offset, len))
618 })().unwrap_or((usize::MAX, 0));
619 let storage = self.storage.slice_mut(offset, len);
620 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
621 }
622
623}
624
625impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttErrorRspMut<S> {
626 type Writer = AttErrorRspWriter<S, emboss_runtime::UncheckedState>;
627 fn into_writer(self) -> Self::Writer {
628 AttErrorRspWriter::new(self.storage)
629 }
630}
631
632pub struct AttErrorRspWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
633 storage: S,
634 _marker: core::marker::PhantomData<ST>,
635}
636
637impl<S: emboss_runtime::MutStorage> AttErrorRspWriter<S, emboss_runtime::UncheckedState> {
638 pub fn new(storage: S) -> Self {
639 Self {
640 storage,
641 _marker: core::marker::PhantomData,
642 }
643 }
644}
645
646impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttErrorRspWriter<S, ST> {
647 pub unsafe fn new_in_state(storage: S) -> Self {
655 Self {
656 storage,
657 _marker: core::marker::PhantomData,
658 }
659 }
660 pub fn into_storage(self) -> S {
661 self.storage
662 }
663 pub fn into_view(self) -> AttErrorRsp<S, ST> {
665 unsafe { AttErrorRsp::new_in_state(self.storage) }
666 }
667 pub fn as_view(&self) -> AttErrorRsp<S::Sliced<'_>, ST> {
669 unsafe { AttErrorRsp::new_in_state(self.storage.slice(0, self.storage.len())) }
670 }
671 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttErrorRspWriter<S, ST::OnValidMutation> {
672 let view = self.into_view();
673 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
674 let offset = (0) as usize;
675 let len = (1) as usize;
676 core::result::Result::Ok((offset, len))
677 })().expect("valid layout in complete state");
678 let mut storage = view.into_storage();
679 {
680 let slice = storage.slice_mut(offset, len);
681 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
682 field_view.try_write(val).expect("valid write in complete state");
683 }
684 unsafe { AttErrorRspWriter::new_in_state(storage) }
685 }
686 pub fn write_request_opcode_in_error(self, val: AttOpcode) -> AttErrorRspWriter<S, ST::OnValidMutation> {
687 let view = self.into_view();
688 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
689 let offset = (1) as usize;
690 let len = (1) as usize;
691 core::result::Result::Ok((offset, len))
692 })().expect("valid layout in complete state");
693 let mut storage = view.into_storage();
694 {
695 let slice = storage.slice_mut(offset, len);
696 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
697 field_view.try_write(val).expect("valid write in complete state");
698 }
699 unsafe { AttErrorRspWriter::new_in_state(storage) }
700 }
701 pub fn write_request_opcode_in_error_uint(self, val: <emboss_runtime::SizeSelector<8> as emboss_runtime::SmallestUInt>::T) -> AttErrorRspWriter<S, ST::OnValidMutation> {
702 let view = self.into_view();
703 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
704 let offset = (1) as usize;
705 let len = (1) as usize;
706 core::result::Result::Ok((offset, len))
707 })().expect("valid layout in complete state");
708 let mut storage = view.into_storage();
709 {
710 let slice = storage.slice_mut(offset, len);
711 let mut field_view = emboss_runtime::UInt::<8, emboss_runtime::LittleEndian, _>::new(slice);
712 field_view.try_write(val).expect("valid write in complete state");
713 }
714 unsafe { AttErrorRspWriter::new_in_state(storage) }
715 }
716 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttErrorRspWriter<S, ST::OnValidMutation> {
717 let view = self.into_view();
718 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
719 let offset = (2) as usize;
720 let len = (2) as usize;
721 core::result::Result::Ok((offset, len))
722 })().expect("valid layout in complete state");
723 let mut storage = view.into_storage();
724 {
725 let slice = storage.slice_mut(offset, len);
726 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
727 field_view.try_write(val).expect("valid write in complete state");
728 }
729 unsafe { AttErrorRspWriter::new_in_state(storage) }
730 }
731 pub fn write_error_code(self, val: ErrorCode) -> AttErrorRspWriter<S, ST::OnValidMutation> {
732 let view = self.into_view();
733 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
734 let offset = (4) as usize;
735 let len = (1) as usize;
736 core::result::Result::Ok((offset, len))
737 })().expect("valid layout in complete state");
738 let mut storage = view.into_storage();
739 {
740 let slice = storage.slice_mut(offset, len);
741 let mut field_view = emboss_runtime::EnumViewMut::<ErrorCode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
742 field_view.try_write(val).expect("valid write in complete state");
743 }
744 unsafe { AttErrorRspWriter::new_in_state(storage) }
745 }
746
747}
748
749impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttErrorRsp<S, ST> {
750 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
751 let view = self;
752 core::result::Result::Ok((5) as usize)
753 }
754}
755
756impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttErrorRspMut<S> {
757 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
758 let view = self.as_view();
759 <AttErrorRsp<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
760 }
761}
762
763impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttErrorRspWriter<S, ST> {
764 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
765 let view = self.as_view();
766 <AttErrorRsp<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
767 }
768}
769
770impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttErrorRsp<S, emboss_runtime::UncheckedState> {
771 type Completed = AttErrorRsp<S, emboss_runtime::CompleteState>;
772 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
773 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
774 if self.storage.len() < required_size {
775 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
776 }
777 core::result::Result::Ok(unsafe { AttErrorRsp::new_in_state(self.storage) })
778 }
779}
780
781impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttErrorRspWriter<S, emboss_runtime::UncheckedState> {
782 type Completed = AttErrorRspWriter<S, emboss_runtime::CompleteState>;
783 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
784 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
785 if self.storage.len() < required_size {
786 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
787 }
788 core::result::Result::Ok(unsafe { AttErrorRspWriter::new_in_state(self.storage) })
789 }
790}
791
792impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttErrorRsp<S, emboss_runtime::UncheckedState> {
793 type Ok = AttErrorRsp<S, emboss_runtime::OkState>;
794 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
795 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
796 core::result::Result::Ok(unsafe { AttErrorRsp::new_in_state(completed.into_storage()) })
797 }
798}
799
800impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttErrorRsp<S, emboss_runtime::CompleteState> {
801 type Ok = AttErrorRsp<S, emboss_runtime::OkState>;
802 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
803 core::result::Result::Ok(unsafe { AttErrorRsp::new_in_state(self.into_storage()) })
804 }
805}
806
807impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttErrorRsp<S, emboss_runtime::OkState> {
808 type Ok = AttErrorRsp<S, emboss_runtime::OkState>;
809 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
810 core::result::Result::Ok(self)
811 }
812}
813
814impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttErrorRspWriter<S, emboss_runtime::UncheckedState> {
815 type Ok = AttErrorRspWriter<S, emboss_runtime::OkState>;
816 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
817 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
818 core::result::Result::Ok(unsafe { AttErrorRspWriter::new_in_state(completed.into_storage()) })
819 }
820}
821
822impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttErrorRspWriter<S, emboss_runtime::CompleteState> {
823 type Ok = AttErrorRspWriter<S, emboss_runtime::OkState>;
824 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
825 core::result::Result::Ok(unsafe { AttErrorRspWriter::new_in_state(self.into_storage()) })
826 }
827}
828
829impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttErrorRspWriter<S, emboss_runtime::OkState> {
830 type Ok = AttErrorRspWriter<S, emboss_runtime::OkState>;
831 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
832 core::result::Result::Ok(self)
833 }
834}
835
836pub mod att_error_rsp {
837 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttErrorRsp<S, ST>;
838 pub type ViewMut<S> = super::AttErrorRspMut<S>;
839 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttErrorRspWriter<S, ST>;
840
841 pub const MIN_SIZE_IN_BYTES: usize = 5;
842 pub const MAX_SIZE_IN_BYTES: usize = 5;
843 pub const SIZE_IN_BYTES: usize = 5;
844}pub struct AttExchangeMtuReq<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
845 storage: S,
846 _marker: core::marker::PhantomData<ST>,
847}
848
849impl<S: emboss_runtime::Storage> AttExchangeMtuReq<S, emboss_runtime::UncheckedState> {
850 pub fn new(storage: S) -> Self {
851 Self {
852 storage,
853 _marker: core::marker::PhantomData,
854 }
855 }
856}
857
858impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttExchangeMtuReq<S, ST> {
859 fn clone(&self) -> Self {
860 Self {
861 storage: self.storage.clone(),
862 _marker: core::marker::PhantomData,
863 }
864 }
865}
866
867impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttExchangeMtuReq<S, ST> {
868 pub unsafe fn new_in_state(storage: S) -> Self {
876 Self {
877 storage,
878 _marker: core::marker::PhantomData,
879 }
880 }
881 pub fn into_storage(self) -> S {
882 self.storage
883 }
884 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
885 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
886 let offset = (0) as usize;
887 let len = (1) as usize;
888 core::result::Result::Ok((offset, len))
889 })().unwrap_or((usize::MAX, 0));
890 let storage = self.storage.slice(offset, len);
891 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
892 }
893 pub fn client_rx_mtu(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
894 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
895 let offset = (1) as usize;
896 let len = (2) as usize;
897 core::result::Result::Ok((offset, len))
898 })().unwrap_or((usize::MAX, 0));
899 let storage = self.storage.slice(offset, len);
900 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
901 }
902
903}
904
905pub struct AttExchangeMtuReqMut<S: emboss_runtime::MutStorage> {
906 storage: S,
907}
908
909impl<S: emboss_runtime::MutStorage> AttExchangeMtuReqMut<S> {
910 pub fn new(storage: S) -> Self {
911 Self {
912 storage,
913 }
914 }
915 pub fn into_writer(self) -> AttExchangeMtuReqWriter<S, emboss_runtime::UncheckedState> {
916 AttExchangeMtuReqWriter::new(self.storage)
917 }
918 pub fn as_view(&self) -> AttExchangeMtuReq<S::Sliced<'_>, emboss_runtime::UncheckedState> {
920 unsafe { AttExchangeMtuReq::new_in_state(self.storage.slice(0, self.storage.len())) }
921 }
922 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
923 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
924 let offset = (0) as usize;
925 let len = (1) as usize;
926 core::result::Result::Ok((offset, len))
927 })().unwrap_or((usize::MAX, 0));
928 let storage = self.storage.slice_mut(offset, len);
929 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
930 }
931 pub fn client_rx_mtu(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
932 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
933 let offset = (1) as usize;
934 let len = (2) as usize;
935 core::result::Result::Ok((offset, len))
936 })().unwrap_or((usize::MAX, 0));
937 let storage = self.storage.slice_mut(offset, len);
938 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
939 }
940
941}
942
943impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttExchangeMtuReqMut<S> {
944 type Writer = AttExchangeMtuReqWriter<S, emboss_runtime::UncheckedState>;
945 fn into_writer(self) -> Self::Writer {
946 AttExchangeMtuReqWriter::new(self.storage)
947 }
948}
949
950pub struct AttExchangeMtuReqWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
951 storage: S,
952 _marker: core::marker::PhantomData<ST>,
953}
954
955impl<S: emboss_runtime::MutStorage> AttExchangeMtuReqWriter<S, emboss_runtime::UncheckedState> {
956 pub fn new(storage: S) -> Self {
957 Self {
958 storage,
959 _marker: core::marker::PhantomData,
960 }
961 }
962}
963
964impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttExchangeMtuReqWriter<S, ST> {
965 pub unsafe fn new_in_state(storage: S) -> Self {
973 Self {
974 storage,
975 _marker: core::marker::PhantomData,
976 }
977 }
978 pub fn into_storage(self) -> S {
979 self.storage
980 }
981 pub fn into_view(self) -> AttExchangeMtuReq<S, ST> {
983 unsafe { AttExchangeMtuReq::new_in_state(self.storage) }
984 }
985 pub fn as_view(&self) -> AttExchangeMtuReq<S::Sliced<'_>, ST> {
987 unsafe { AttExchangeMtuReq::new_in_state(self.storage.slice(0, self.storage.len())) }
988 }
989 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttExchangeMtuReqWriter<S, ST::OnValidMutation> {
990 let view = self.into_view();
991 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
992 let offset = (0) as usize;
993 let len = (1) as usize;
994 core::result::Result::Ok((offset, len))
995 })().expect("valid layout in complete state");
996 let mut storage = view.into_storage();
997 {
998 let slice = storage.slice_mut(offset, len);
999 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
1000 field_view.try_write(val).expect("valid write in complete state");
1001 }
1002 unsafe { AttExchangeMtuReqWriter::new_in_state(storage) }
1003 }
1004 pub fn write_client_rx_mtu(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttExchangeMtuReqWriter<S, ST::OnValidMutation> {
1005 let view = self.into_view();
1006 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1007 let offset = (1) as usize;
1008 let len = (2) as usize;
1009 core::result::Result::Ok((offset, len))
1010 })().expect("valid layout in complete state");
1011 let mut storage = view.into_storage();
1012 {
1013 let slice = storage.slice_mut(offset, len);
1014 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
1015 field_view.try_write(val).expect("valid write in complete state");
1016 }
1017 unsafe { AttExchangeMtuReqWriter::new_in_state(storage) }
1018 }
1019
1020}
1021
1022impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttExchangeMtuReq<S, ST> {
1023 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1024 let view = self;
1025 core::result::Result::Ok((3) as usize)
1026 }
1027}
1028
1029impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttExchangeMtuReqMut<S> {
1030 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1031 let view = self.as_view();
1032 <AttExchangeMtuReq<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
1033 }
1034}
1035
1036impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttExchangeMtuReqWriter<S, ST> {
1037 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1038 let view = self.as_view();
1039 <AttExchangeMtuReq<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
1040 }
1041}
1042
1043impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttExchangeMtuReq<S, emboss_runtime::UncheckedState> {
1044 type Completed = AttExchangeMtuReq<S, emboss_runtime::CompleteState>;
1045 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1046 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1047 if self.storage.len() < required_size {
1048 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1049 }
1050 core::result::Result::Ok(unsafe { AttExchangeMtuReq::new_in_state(self.storage) })
1051 }
1052}
1053
1054impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttExchangeMtuReqWriter<S, emboss_runtime::UncheckedState> {
1055 type Completed = AttExchangeMtuReqWriter<S, emboss_runtime::CompleteState>;
1056 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1057 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1058 if self.storage.len() < required_size {
1059 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1060 }
1061 core::result::Result::Ok(unsafe { AttExchangeMtuReqWriter::new_in_state(self.storage) })
1062 }
1063}
1064
1065impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExchangeMtuReq<S, emboss_runtime::UncheckedState> {
1066 type Ok = AttExchangeMtuReq<S, emboss_runtime::OkState>;
1067 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1068 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1069 core::result::Result::Ok(unsafe { AttExchangeMtuReq::new_in_state(completed.into_storage()) })
1070 }
1071}
1072
1073impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExchangeMtuReq<S, emboss_runtime::CompleteState> {
1074 type Ok = AttExchangeMtuReq<S, emboss_runtime::OkState>;
1075 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1076 core::result::Result::Ok(unsafe { AttExchangeMtuReq::new_in_state(self.into_storage()) })
1077 }
1078}
1079
1080impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExchangeMtuReq<S, emboss_runtime::OkState> {
1081 type Ok = AttExchangeMtuReq<S, emboss_runtime::OkState>;
1082 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1083 core::result::Result::Ok(self)
1084 }
1085}
1086
1087impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExchangeMtuReqWriter<S, emboss_runtime::UncheckedState> {
1088 type Ok = AttExchangeMtuReqWriter<S, emboss_runtime::OkState>;
1089 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1090 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1091 core::result::Result::Ok(unsafe { AttExchangeMtuReqWriter::new_in_state(completed.into_storage()) })
1092 }
1093}
1094
1095impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExchangeMtuReqWriter<S, emboss_runtime::CompleteState> {
1096 type Ok = AttExchangeMtuReqWriter<S, emboss_runtime::OkState>;
1097 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1098 core::result::Result::Ok(unsafe { AttExchangeMtuReqWriter::new_in_state(self.into_storage()) })
1099 }
1100}
1101
1102impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExchangeMtuReqWriter<S, emboss_runtime::OkState> {
1103 type Ok = AttExchangeMtuReqWriter<S, emboss_runtime::OkState>;
1104 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1105 core::result::Result::Ok(self)
1106 }
1107}
1108
1109pub mod att_exchange_mtu_req {
1110 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttExchangeMtuReq<S, ST>;
1111 pub type ViewMut<S> = super::AttExchangeMtuReqMut<S>;
1112 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttExchangeMtuReqWriter<S, ST>;
1113
1114 pub const MIN_SIZE_IN_BYTES: usize = 3;
1115 pub const MAX_SIZE_IN_BYTES: usize = 3;
1116 pub const SIZE_IN_BYTES: usize = 3;
1117}pub struct AttExchangeMtuRsp<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1118 storage: S,
1119 _marker: core::marker::PhantomData<ST>,
1120}
1121
1122impl<S: emboss_runtime::Storage> AttExchangeMtuRsp<S, emboss_runtime::UncheckedState> {
1123 pub fn new(storage: S) -> Self {
1124 Self {
1125 storage,
1126 _marker: core::marker::PhantomData,
1127 }
1128 }
1129}
1130
1131impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttExchangeMtuRsp<S, ST> {
1132 fn clone(&self) -> Self {
1133 Self {
1134 storage: self.storage.clone(),
1135 _marker: core::marker::PhantomData,
1136 }
1137 }
1138}
1139
1140impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttExchangeMtuRsp<S, ST> {
1141 pub unsafe fn new_in_state(storage: S) -> Self {
1149 Self {
1150 storage,
1151 _marker: core::marker::PhantomData,
1152 }
1153 }
1154 pub fn into_storage(self) -> S {
1155 self.storage
1156 }
1157 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
1158 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1159 let offset = (0) as usize;
1160 let len = (1) as usize;
1161 core::result::Result::Ok((offset, len))
1162 })().unwrap_or((usize::MAX, 0));
1163 let storage = self.storage.slice(offset, len);
1164 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
1165 }
1166 pub fn server_rx_mtu(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
1167 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1168 let offset = (1) as usize;
1169 let len = (2) as usize;
1170 core::result::Result::Ok((offset, len))
1171 })().unwrap_or((usize::MAX, 0));
1172 let storage = self.storage.slice(offset, len);
1173 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
1174 }
1175
1176}
1177
1178pub struct AttExchangeMtuRspMut<S: emboss_runtime::MutStorage> {
1179 storage: S,
1180}
1181
1182impl<S: emboss_runtime::MutStorage> AttExchangeMtuRspMut<S> {
1183 pub fn new(storage: S) -> Self {
1184 Self {
1185 storage,
1186 }
1187 }
1188 pub fn into_writer(self) -> AttExchangeMtuRspWriter<S, emboss_runtime::UncheckedState> {
1189 AttExchangeMtuRspWriter::new(self.storage)
1190 }
1191 pub fn as_view(&self) -> AttExchangeMtuRsp<S::Sliced<'_>, emboss_runtime::UncheckedState> {
1193 unsafe { AttExchangeMtuRsp::new_in_state(self.storage.slice(0, self.storage.len())) }
1194 }
1195 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
1196 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1197 let offset = (0) as usize;
1198 let len = (1) as usize;
1199 core::result::Result::Ok((offset, len))
1200 })().unwrap_or((usize::MAX, 0));
1201 let storage = self.storage.slice_mut(offset, len);
1202 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
1203 }
1204 pub fn server_rx_mtu(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
1205 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1206 let offset = (1) as usize;
1207 let len = (2) as usize;
1208 core::result::Result::Ok((offset, len))
1209 })().unwrap_or((usize::MAX, 0));
1210 let storage = self.storage.slice_mut(offset, len);
1211 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
1212 }
1213
1214}
1215
1216impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttExchangeMtuRspMut<S> {
1217 type Writer = AttExchangeMtuRspWriter<S, emboss_runtime::UncheckedState>;
1218 fn into_writer(self) -> Self::Writer {
1219 AttExchangeMtuRspWriter::new(self.storage)
1220 }
1221}
1222
1223pub struct AttExchangeMtuRspWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1224 storage: S,
1225 _marker: core::marker::PhantomData<ST>,
1226}
1227
1228impl<S: emboss_runtime::MutStorage> AttExchangeMtuRspWriter<S, emboss_runtime::UncheckedState> {
1229 pub fn new(storage: S) -> Self {
1230 Self {
1231 storage,
1232 _marker: core::marker::PhantomData,
1233 }
1234 }
1235}
1236
1237impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttExchangeMtuRspWriter<S, ST> {
1238 pub unsafe fn new_in_state(storage: S) -> Self {
1246 Self {
1247 storage,
1248 _marker: core::marker::PhantomData,
1249 }
1250 }
1251 pub fn into_storage(self) -> S {
1252 self.storage
1253 }
1254 pub fn into_view(self) -> AttExchangeMtuRsp<S, ST> {
1256 unsafe { AttExchangeMtuRsp::new_in_state(self.storage) }
1257 }
1258 pub fn as_view(&self) -> AttExchangeMtuRsp<S::Sliced<'_>, ST> {
1260 unsafe { AttExchangeMtuRsp::new_in_state(self.storage.slice(0, self.storage.len())) }
1261 }
1262 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttExchangeMtuRspWriter<S, ST::OnValidMutation> {
1263 let view = self.into_view();
1264 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1265 let offset = (0) as usize;
1266 let len = (1) as usize;
1267 core::result::Result::Ok((offset, len))
1268 })().expect("valid layout in complete state");
1269 let mut storage = view.into_storage();
1270 {
1271 let slice = storage.slice_mut(offset, len);
1272 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
1273 field_view.try_write(val).expect("valid write in complete state");
1274 }
1275 unsafe { AttExchangeMtuRspWriter::new_in_state(storage) }
1276 }
1277 pub fn write_server_rx_mtu(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttExchangeMtuRspWriter<S, ST::OnValidMutation> {
1278 let view = self.into_view();
1279 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1280 let offset = (1) as usize;
1281 let len = (2) as usize;
1282 core::result::Result::Ok((offset, len))
1283 })().expect("valid layout in complete state");
1284 let mut storage = view.into_storage();
1285 {
1286 let slice = storage.slice_mut(offset, len);
1287 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
1288 field_view.try_write(val).expect("valid write in complete state");
1289 }
1290 unsafe { AttExchangeMtuRspWriter::new_in_state(storage) }
1291 }
1292
1293}
1294
1295impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttExchangeMtuRsp<S, ST> {
1296 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1297 let view = self;
1298 core::result::Result::Ok((3) as usize)
1299 }
1300}
1301
1302impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttExchangeMtuRspMut<S> {
1303 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1304 let view = self.as_view();
1305 <AttExchangeMtuRsp<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
1306 }
1307}
1308
1309impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttExchangeMtuRspWriter<S, ST> {
1310 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1311 let view = self.as_view();
1312 <AttExchangeMtuRsp<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
1313 }
1314}
1315
1316impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttExchangeMtuRsp<S, emboss_runtime::UncheckedState> {
1317 type Completed = AttExchangeMtuRsp<S, emboss_runtime::CompleteState>;
1318 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1319 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1320 if self.storage.len() < required_size {
1321 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1322 }
1323 core::result::Result::Ok(unsafe { AttExchangeMtuRsp::new_in_state(self.storage) })
1324 }
1325}
1326
1327impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttExchangeMtuRspWriter<S, emboss_runtime::UncheckedState> {
1328 type Completed = AttExchangeMtuRspWriter<S, emboss_runtime::CompleteState>;
1329 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1330 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1331 if self.storage.len() < required_size {
1332 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1333 }
1334 core::result::Result::Ok(unsafe { AttExchangeMtuRspWriter::new_in_state(self.storage) })
1335 }
1336}
1337
1338impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExchangeMtuRsp<S, emboss_runtime::UncheckedState> {
1339 type Ok = AttExchangeMtuRsp<S, emboss_runtime::OkState>;
1340 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1341 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1342 core::result::Result::Ok(unsafe { AttExchangeMtuRsp::new_in_state(completed.into_storage()) })
1343 }
1344}
1345
1346impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExchangeMtuRsp<S, emboss_runtime::CompleteState> {
1347 type Ok = AttExchangeMtuRsp<S, emboss_runtime::OkState>;
1348 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1349 core::result::Result::Ok(unsafe { AttExchangeMtuRsp::new_in_state(self.into_storage()) })
1350 }
1351}
1352
1353impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExchangeMtuRsp<S, emboss_runtime::OkState> {
1354 type Ok = AttExchangeMtuRsp<S, emboss_runtime::OkState>;
1355 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1356 core::result::Result::Ok(self)
1357 }
1358}
1359
1360impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExchangeMtuRspWriter<S, emboss_runtime::UncheckedState> {
1361 type Ok = AttExchangeMtuRspWriter<S, emboss_runtime::OkState>;
1362 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1363 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1364 core::result::Result::Ok(unsafe { AttExchangeMtuRspWriter::new_in_state(completed.into_storage()) })
1365 }
1366}
1367
1368impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExchangeMtuRspWriter<S, emboss_runtime::CompleteState> {
1369 type Ok = AttExchangeMtuRspWriter<S, emboss_runtime::OkState>;
1370 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1371 core::result::Result::Ok(unsafe { AttExchangeMtuRspWriter::new_in_state(self.into_storage()) })
1372 }
1373}
1374
1375impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExchangeMtuRspWriter<S, emboss_runtime::OkState> {
1376 type Ok = AttExchangeMtuRspWriter<S, emboss_runtime::OkState>;
1377 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1378 core::result::Result::Ok(self)
1379 }
1380}
1381
1382pub mod att_exchange_mtu_rsp {
1383 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttExchangeMtuRsp<S, ST>;
1384 pub type ViewMut<S> = super::AttExchangeMtuRspMut<S>;
1385 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttExchangeMtuRspWriter<S, ST>;
1386
1387 pub const MIN_SIZE_IN_BYTES: usize = 3;
1388 pub const MAX_SIZE_IN_BYTES: usize = 3;
1389 pub const SIZE_IN_BYTES: usize = 3;
1390}#[derive(Copy, Clone, Debug, Eq, PartialEq)]
1391#[repr(u64)]
1392pub enum AttUuidFormat {
1393 BIT16 = 1,
1394 BIT128 = 2,
1395
1396}
1397
1398impl core::convert::From<AttUuidFormat> for u8 { fn from(val: AttUuidFormat) -> Self { val as u8 } }
1399impl core::convert::From<AttUuidFormat> for u16 { fn from(val: AttUuidFormat) -> Self { val as u16 } }
1400impl core::convert::From<AttUuidFormat> for u32 { fn from(val: AttUuidFormat) -> Self { val as u32 } }
1401impl core::convert::From<AttUuidFormat> for u64 { fn from(val: AttUuidFormat) -> Self { val as u64 } }
1402impl core::convert::From<AttUuidFormat> for i8 { fn from(val: AttUuidFormat) -> Self { val as i8 } }
1403impl core::convert::From<AttUuidFormat> for i16 { fn from(val: AttUuidFormat) -> Self { val as i16 } }
1404impl core::convert::From<AttUuidFormat> for i32 { fn from(val: AttUuidFormat) -> Self { val as i32 } }
1405impl core::convert::From<AttUuidFormat> for i64 { fn from(val: AttUuidFormat) -> Self { val as i64 } }
1406
1407impl emboss_runtime::SafeCmp<AttUuidFormat> for AttUuidFormat {
1408 fn safe_eq(&self, other: Self) -> bool { *self == other }
1409 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
1410}
1411
1412impl emboss_runtime::SafeCmp<u64> for AttUuidFormat {
1413 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1414 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1415}
1416
1417impl emboss_runtime::SafeCmp<i64> for AttUuidFormat {
1418 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1419 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1420}
1421
1422impl emboss_runtime::SafeCmp<i32> for AttUuidFormat {
1423 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
1424 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
1425}
1426
1427impl emboss_runtime::SafeCmp<u32> for AttUuidFormat {
1428 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
1429 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
1430}
1431
1432impl emboss_runtime::SafeCmp<AttUuidFormat> for u64 {
1433 fn safe_eq(&self, other: AttUuidFormat) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1434 fn safe_less(&self, other: AttUuidFormat) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1435}
1436
1437impl emboss_runtime::SafeCmp<AttUuidFormat> for i64 {
1438 fn safe_eq(&self, other: AttUuidFormat) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1439 fn safe_less(&self, other: AttUuidFormat) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1440}
1441
1442impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for AttUuidFormat {
1443 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
1444 let v_raw: u64 = val.into();
1445 match v_raw {
1446 1 => Ok(AttUuidFormat::BIT16),
1447 2 => Ok(AttUuidFormat::BIT128),
1448
1449 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
1450 }
1451 }
1452}
1453
1454impl AttUuidFormat {
1455
1456}
1457pub struct AttFindInformationReq<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1458 storage: S,
1459 _marker: core::marker::PhantomData<ST>,
1460}
1461
1462impl<S: emboss_runtime::Storage> AttFindInformationReq<S, emboss_runtime::UncheckedState> {
1463 pub fn new(storage: S) -> Self {
1464 Self {
1465 storage,
1466 _marker: core::marker::PhantomData,
1467 }
1468 }
1469}
1470
1471impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttFindInformationReq<S, ST> {
1472 fn clone(&self) -> Self {
1473 Self {
1474 storage: self.storage.clone(),
1475 _marker: core::marker::PhantomData,
1476 }
1477 }
1478}
1479
1480impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttFindInformationReq<S, ST> {
1481 pub unsafe fn new_in_state(storage: S) -> Self {
1489 Self {
1490 storage,
1491 _marker: core::marker::PhantomData,
1492 }
1493 }
1494 pub fn into_storage(self) -> S {
1495 self.storage
1496 }
1497 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
1498 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1499 let offset = (0) as usize;
1500 let len = (1) as usize;
1501 core::result::Result::Ok((offset, len))
1502 })().unwrap_or((usize::MAX, 0));
1503 let storage = self.storage.slice(offset, len);
1504 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
1505 }
1506 pub fn starting_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
1507 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1508 let offset = (1) as usize;
1509 let len = (2) as usize;
1510 core::result::Result::Ok((offset, len))
1511 })().unwrap_or((usize::MAX, 0));
1512 let storage = self.storage.slice(offset, len);
1513 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
1514 }
1515 pub fn ending_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
1516 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1517 let offset = (3) as usize;
1518 let len = (2) as usize;
1519 core::result::Result::Ok((offset, len))
1520 })().unwrap_or((usize::MAX, 0));
1521 let storage = self.storage.slice(offset, len);
1522 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
1523 }
1524
1525}
1526
1527pub struct AttFindInformationReqMut<S: emboss_runtime::MutStorage> {
1528 storage: S,
1529}
1530
1531impl<S: emboss_runtime::MutStorage> AttFindInformationReqMut<S> {
1532 pub fn new(storage: S) -> Self {
1533 Self {
1534 storage,
1535 }
1536 }
1537 pub fn into_writer(self) -> AttFindInformationReqWriter<S, emboss_runtime::UncheckedState> {
1538 AttFindInformationReqWriter::new(self.storage)
1539 }
1540 pub fn as_view(&self) -> AttFindInformationReq<S::Sliced<'_>, emboss_runtime::UncheckedState> {
1542 unsafe { AttFindInformationReq::new_in_state(self.storage.slice(0, self.storage.len())) }
1543 }
1544 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
1545 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1546 let offset = (0) as usize;
1547 let len = (1) as usize;
1548 core::result::Result::Ok((offset, len))
1549 })().unwrap_or((usize::MAX, 0));
1550 let storage = self.storage.slice_mut(offset, len);
1551 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
1552 }
1553 pub fn starting_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
1554 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1555 let offset = (1) as usize;
1556 let len = (2) as usize;
1557 core::result::Result::Ok((offset, len))
1558 })().unwrap_or((usize::MAX, 0));
1559 let storage = self.storage.slice_mut(offset, len);
1560 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
1561 }
1562 pub fn ending_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
1563 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1564 let offset = (3) as usize;
1565 let len = (2) as usize;
1566 core::result::Result::Ok((offset, len))
1567 })().unwrap_or((usize::MAX, 0));
1568 let storage = self.storage.slice_mut(offset, len);
1569 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
1570 }
1571
1572}
1573
1574impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttFindInformationReqMut<S> {
1575 type Writer = AttFindInformationReqWriter<S, emboss_runtime::UncheckedState>;
1576 fn into_writer(self) -> Self::Writer {
1577 AttFindInformationReqWriter::new(self.storage)
1578 }
1579}
1580
1581pub struct AttFindInformationReqWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1582 storage: S,
1583 _marker: core::marker::PhantomData<ST>,
1584}
1585
1586impl<S: emboss_runtime::MutStorage> AttFindInformationReqWriter<S, emboss_runtime::UncheckedState> {
1587 pub fn new(storage: S) -> Self {
1588 Self {
1589 storage,
1590 _marker: core::marker::PhantomData,
1591 }
1592 }
1593}
1594
1595impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttFindInformationReqWriter<S, ST> {
1596 pub unsafe fn new_in_state(storage: S) -> Self {
1604 Self {
1605 storage,
1606 _marker: core::marker::PhantomData,
1607 }
1608 }
1609 pub fn into_storage(self) -> S {
1610 self.storage
1611 }
1612 pub fn into_view(self) -> AttFindInformationReq<S, ST> {
1614 unsafe { AttFindInformationReq::new_in_state(self.storage) }
1615 }
1616 pub fn as_view(&self) -> AttFindInformationReq<S::Sliced<'_>, ST> {
1618 unsafe { AttFindInformationReq::new_in_state(self.storage.slice(0, self.storage.len())) }
1619 }
1620 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttFindInformationReqWriter<S, ST::OnValidMutation> {
1621 let view = self.into_view();
1622 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1623 let offset = (0) as usize;
1624 let len = (1) as usize;
1625 core::result::Result::Ok((offset, len))
1626 })().expect("valid layout in complete state");
1627 let mut storage = view.into_storage();
1628 {
1629 let slice = storage.slice_mut(offset, len);
1630 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
1631 field_view.try_write(val).expect("valid write in complete state");
1632 }
1633 unsafe { AttFindInformationReqWriter::new_in_state(storage) }
1634 }
1635 pub fn write_starting_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttFindInformationReqWriter<S, ST::OnValidMutation> {
1636 let view = self.into_view();
1637 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1638 let offset = (1) as usize;
1639 let len = (2) as usize;
1640 core::result::Result::Ok((offset, len))
1641 })().expect("valid layout in complete state");
1642 let mut storage = view.into_storage();
1643 {
1644 let slice = storage.slice_mut(offset, len);
1645 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
1646 field_view.try_write(val).expect("valid write in complete state");
1647 }
1648 unsafe { AttFindInformationReqWriter::new_in_state(storage) }
1649 }
1650 pub fn write_ending_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttFindInformationReqWriter<S, ST::OnValidMutation> {
1651 let view = self.into_view();
1652 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1653 let offset = (3) as usize;
1654 let len = (2) as usize;
1655 core::result::Result::Ok((offset, len))
1656 })().expect("valid layout in complete state");
1657 let mut storage = view.into_storage();
1658 {
1659 let slice = storage.slice_mut(offset, len);
1660 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
1661 field_view.try_write(val).expect("valid write in complete state");
1662 }
1663 unsafe { AttFindInformationReqWriter::new_in_state(storage) }
1664 }
1665
1666}
1667
1668impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttFindInformationReq<S, ST> {
1669 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1670 let view = self;
1671 core::result::Result::Ok((5) as usize)
1672 }
1673}
1674
1675impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttFindInformationReqMut<S> {
1676 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1677 let view = self.as_view();
1678 <AttFindInformationReq<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
1679 }
1680}
1681
1682impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttFindInformationReqWriter<S, ST> {
1683 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1684 let view = self.as_view();
1685 <AttFindInformationReq<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
1686 }
1687}
1688
1689impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttFindInformationReq<S, emboss_runtime::UncheckedState> {
1690 type Completed = AttFindInformationReq<S, emboss_runtime::CompleteState>;
1691 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1692 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1693 if self.storage.len() < required_size {
1694 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1695 }
1696 core::result::Result::Ok(unsafe { AttFindInformationReq::new_in_state(self.storage) })
1697 }
1698}
1699
1700impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttFindInformationReqWriter<S, emboss_runtime::UncheckedState> {
1701 type Completed = AttFindInformationReqWriter<S, emboss_runtime::CompleteState>;
1702 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1703 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1704 if self.storage.len() < required_size {
1705 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1706 }
1707 core::result::Result::Ok(unsafe { AttFindInformationReqWriter::new_in_state(self.storage) })
1708 }
1709}
1710
1711impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindInformationReq<S, emboss_runtime::UncheckedState> {
1712 type Ok = AttFindInformationReq<S, emboss_runtime::OkState>;
1713 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1714 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1715 core::result::Result::Ok(unsafe { AttFindInformationReq::new_in_state(completed.into_storage()) })
1716 }
1717}
1718
1719impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindInformationReq<S, emboss_runtime::CompleteState> {
1720 type Ok = AttFindInformationReq<S, emboss_runtime::OkState>;
1721 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1722 core::result::Result::Ok(unsafe { AttFindInformationReq::new_in_state(self.into_storage()) })
1723 }
1724}
1725
1726impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindInformationReq<S, emboss_runtime::OkState> {
1727 type Ok = AttFindInformationReq<S, emboss_runtime::OkState>;
1728 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1729 core::result::Result::Ok(self)
1730 }
1731}
1732
1733impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindInformationReqWriter<S, emboss_runtime::UncheckedState> {
1734 type Ok = AttFindInformationReqWriter<S, emboss_runtime::OkState>;
1735 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1736 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1737 core::result::Result::Ok(unsafe { AttFindInformationReqWriter::new_in_state(completed.into_storage()) })
1738 }
1739}
1740
1741impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindInformationReqWriter<S, emboss_runtime::CompleteState> {
1742 type Ok = AttFindInformationReqWriter<S, emboss_runtime::OkState>;
1743 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1744 core::result::Result::Ok(unsafe { AttFindInformationReqWriter::new_in_state(self.into_storage()) })
1745 }
1746}
1747
1748impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindInformationReqWriter<S, emboss_runtime::OkState> {
1749 type Ok = AttFindInformationReqWriter<S, emboss_runtime::OkState>;
1750 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1751 core::result::Result::Ok(self)
1752 }
1753}
1754
1755pub mod att_find_information_req {
1756 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttFindInformationReq<S, ST>;
1757 pub type ViewMut<S> = super::AttFindInformationReqMut<S>;
1758 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttFindInformationReqWriter<S, ST>;
1759
1760 pub const MIN_SIZE_IN_BYTES: usize = 5;
1761 pub const MAX_SIZE_IN_BYTES: usize = 5;
1762 pub const SIZE_IN_BYTES: usize = 5;
1763}pub struct AttFindInformationRspHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1764 storage: S,
1765 _marker: core::marker::PhantomData<ST>,
1766}
1767
1768impl<S: emboss_runtime::Storage> AttFindInformationRspHeader<S, emboss_runtime::UncheckedState> {
1769 pub fn new(storage: S) -> Self {
1770 Self {
1771 storage,
1772 _marker: core::marker::PhantomData,
1773 }
1774 }
1775}
1776
1777impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttFindInformationRspHeader<S, ST> {
1778 fn clone(&self) -> Self {
1779 Self {
1780 storage: self.storage.clone(),
1781 _marker: core::marker::PhantomData,
1782 }
1783 }
1784}
1785
1786impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttFindInformationRspHeader<S, ST> {
1787 pub unsafe fn new_in_state(storage: S) -> Self {
1795 Self {
1796 storage,
1797 _marker: core::marker::PhantomData,
1798 }
1799 }
1800 pub fn into_storage(self) -> S {
1801 self.storage
1802 }
1803 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
1804 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1805 let offset = (0) as usize;
1806 let len = (1) as usize;
1807 core::result::Result::Ok((offset, len))
1808 })().unwrap_or((usize::MAX, 0));
1809 let storage = self.storage.slice(offset, len);
1810 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
1811 }
1812 pub fn format(&self) -> emboss_runtime::EnumView<AttUuidFormat, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
1813 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1814 let offset = (1) as usize;
1815 let len = (1) as usize;
1816 core::result::Result::Ok((offset, len))
1817 })().unwrap_or((usize::MAX, 0));
1818 let storage = self.storage.slice(offset, len);
1819 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
1820 }
1821
1822}
1823
1824pub struct AttFindInformationRspHeaderMut<S: emboss_runtime::MutStorage> {
1825 storage: S,
1826}
1827
1828impl<S: emboss_runtime::MutStorage> AttFindInformationRspHeaderMut<S> {
1829 pub fn new(storage: S) -> Self {
1830 Self {
1831 storage,
1832 }
1833 }
1834 pub fn into_writer(self) -> AttFindInformationRspHeaderWriter<S, emboss_runtime::UncheckedState> {
1835 AttFindInformationRspHeaderWriter::new(self.storage)
1836 }
1837 pub fn as_view(&self) -> AttFindInformationRspHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
1839 unsafe { AttFindInformationRspHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
1840 }
1841 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
1842 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1843 let offset = (0) as usize;
1844 let len = (1) as usize;
1845 core::result::Result::Ok((offset, len))
1846 })().unwrap_or((usize::MAX, 0));
1847 let storage = self.storage.slice_mut(offset, len);
1848 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
1849 }
1850 pub fn format(&mut self) -> emboss_runtime::EnumViewMut<AttUuidFormat, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
1851 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1852 let offset = (1) as usize;
1853 let len = (1) as usize;
1854 core::result::Result::Ok((offset, len))
1855 })().unwrap_or((usize::MAX, 0));
1856 let storage = self.storage.slice_mut(offset, len);
1857 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
1858 }
1859
1860}
1861
1862impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttFindInformationRspHeaderMut<S> {
1863 type Writer = AttFindInformationRspHeaderWriter<S, emboss_runtime::UncheckedState>;
1864 fn into_writer(self) -> Self::Writer {
1865 AttFindInformationRspHeaderWriter::new(self.storage)
1866 }
1867}
1868
1869pub struct AttFindInformationRspHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1870 storage: S,
1871 _marker: core::marker::PhantomData<ST>,
1872}
1873
1874impl<S: emboss_runtime::MutStorage> AttFindInformationRspHeaderWriter<S, emboss_runtime::UncheckedState> {
1875 pub fn new(storage: S) -> Self {
1876 Self {
1877 storage,
1878 _marker: core::marker::PhantomData,
1879 }
1880 }
1881}
1882
1883impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttFindInformationRspHeaderWriter<S, ST> {
1884 pub unsafe fn new_in_state(storage: S) -> Self {
1892 Self {
1893 storage,
1894 _marker: core::marker::PhantomData,
1895 }
1896 }
1897 pub fn into_storage(self) -> S {
1898 self.storage
1899 }
1900 pub fn into_view(self) -> AttFindInformationRspHeader<S, ST> {
1902 unsafe { AttFindInformationRspHeader::new_in_state(self.storage) }
1903 }
1904 pub fn as_view(&self) -> AttFindInformationRspHeader<S::Sliced<'_>, ST> {
1906 unsafe { AttFindInformationRspHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
1907 }
1908 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttFindInformationRspHeaderWriter<S, ST::OnValidMutation> {
1909 let view = self.into_view();
1910 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1911 let offset = (0) as usize;
1912 let len = (1) as usize;
1913 core::result::Result::Ok((offset, len))
1914 })().expect("valid layout in complete state");
1915 let mut storage = view.into_storage();
1916 {
1917 let slice = storage.slice_mut(offset, len);
1918 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
1919 field_view.try_write(val).expect("valid write in complete state");
1920 }
1921 unsafe { AttFindInformationRspHeaderWriter::new_in_state(storage) }
1922 }
1923 pub fn write_format(self, val: AttUuidFormat) -> AttFindInformationRspHeaderWriter<S, ST::OnValidMutation> {
1924 let view = self.into_view();
1925 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1926 let offset = (1) as usize;
1927 let len = (1) as usize;
1928 core::result::Result::Ok((offset, len))
1929 })().expect("valid layout in complete state");
1930 let mut storage = view.into_storage();
1931 {
1932 let slice = storage.slice_mut(offset, len);
1933 let mut field_view = emboss_runtime::EnumViewMut::<AttUuidFormat, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
1934 field_view.try_write(val).expect("valid write in complete state");
1935 }
1936 unsafe { AttFindInformationRspHeaderWriter::new_in_state(storage) }
1937 }
1938
1939}
1940
1941impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttFindInformationRspHeader<S, ST> {
1942 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1943 let view = self;
1944 core::result::Result::Ok((2) as usize)
1945 }
1946}
1947
1948impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttFindInformationRspHeaderMut<S> {
1949 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1950 let view = self.as_view();
1951 <AttFindInformationRspHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
1952 }
1953}
1954
1955impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttFindInformationRspHeaderWriter<S, ST> {
1956 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1957 let view = self.as_view();
1958 <AttFindInformationRspHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
1959 }
1960}
1961
1962impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttFindInformationRspHeader<S, emboss_runtime::UncheckedState> {
1963 type Completed = AttFindInformationRspHeader<S, emboss_runtime::CompleteState>;
1964 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1965 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1966 if self.storage.len() < required_size {
1967 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1968 }
1969 core::result::Result::Ok(unsafe { AttFindInformationRspHeader::new_in_state(self.storage) })
1970 }
1971}
1972
1973impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttFindInformationRspHeaderWriter<S, emboss_runtime::UncheckedState> {
1974 type Completed = AttFindInformationRspHeaderWriter<S, emboss_runtime::CompleteState>;
1975 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1976 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1977 if self.storage.len() < required_size {
1978 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1979 }
1980 core::result::Result::Ok(unsafe { AttFindInformationRspHeaderWriter::new_in_state(self.storage) })
1981 }
1982}
1983
1984impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindInformationRspHeader<S, emboss_runtime::UncheckedState> {
1985 type Ok = AttFindInformationRspHeader<S, emboss_runtime::OkState>;
1986 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1987 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1988 core::result::Result::Ok(unsafe { AttFindInformationRspHeader::new_in_state(completed.into_storage()) })
1989 }
1990}
1991
1992impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindInformationRspHeader<S, emboss_runtime::CompleteState> {
1993 type Ok = AttFindInformationRspHeader<S, emboss_runtime::OkState>;
1994 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1995 core::result::Result::Ok(unsafe { AttFindInformationRspHeader::new_in_state(self.into_storage()) })
1996 }
1997}
1998
1999impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindInformationRspHeader<S, emboss_runtime::OkState> {
2000 type Ok = AttFindInformationRspHeader<S, emboss_runtime::OkState>;
2001 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2002 core::result::Result::Ok(self)
2003 }
2004}
2005
2006impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindInformationRspHeaderWriter<S, emboss_runtime::UncheckedState> {
2007 type Ok = AttFindInformationRspHeaderWriter<S, emboss_runtime::OkState>;
2008 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2009 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2010 core::result::Result::Ok(unsafe { AttFindInformationRspHeaderWriter::new_in_state(completed.into_storage()) })
2011 }
2012}
2013
2014impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindInformationRspHeaderWriter<S, emboss_runtime::CompleteState> {
2015 type Ok = AttFindInformationRspHeaderWriter<S, emboss_runtime::OkState>;
2016 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2017 core::result::Result::Ok(unsafe { AttFindInformationRspHeaderWriter::new_in_state(self.into_storage()) })
2018 }
2019}
2020
2021impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindInformationRspHeaderWriter<S, emboss_runtime::OkState> {
2022 type Ok = AttFindInformationRspHeaderWriter<S, emboss_runtime::OkState>;
2023 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2024 core::result::Result::Ok(self)
2025 }
2026}
2027
2028pub mod att_find_information_rsp_header {
2029 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttFindInformationRspHeader<S, ST>;
2030 pub type ViewMut<S> = super::AttFindInformationRspHeaderMut<S>;
2031 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttFindInformationRspHeaderWriter<S, ST>;
2032
2033 pub const MIN_SIZE_IN_BYTES: usize = 2;
2034 pub const MAX_SIZE_IN_BYTES: usize = 2;
2035 pub const SIZE_IN_BYTES: usize = 2;
2036}pub struct AttInformationData16<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2037 storage: S,
2038 _marker: core::marker::PhantomData<ST>,
2039}
2040
2041impl<S: emboss_runtime::Storage> AttInformationData16<S, emboss_runtime::UncheckedState> {
2042 pub fn new(storage: S) -> Self {
2043 Self {
2044 storage,
2045 _marker: core::marker::PhantomData,
2046 }
2047 }
2048}
2049
2050impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttInformationData16<S, ST> {
2051 fn clone(&self) -> Self {
2052 Self {
2053 storage: self.storage.clone(),
2054 _marker: core::marker::PhantomData,
2055 }
2056 }
2057}
2058
2059impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttInformationData16<S, ST> {
2060 pub unsafe fn new_in_state(storage: S) -> Self {
2068 Self {
2069 storage,
2070 _marker: core::marker::PhantomData,
2071 }
2072 }
2073 pub fn into_storage(self) -> S {
2074 self.storage
2075 }
2076 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
2077 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2078 let offset = (0) as usize;
2079 let len = (2) as usize;
2080 core::result::Result::Ok((offset, len))
2081 })().unwrap_or((usize::MAX, 0));
2082 let storage = self.storage.slice(offset, len);
2083 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
2084 }
2085 pub fn uuid(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
2086 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2087 let offset = (2) as usize;
2088 let len = (2) as usize;
2089 core::result::Result::Ok((offset, len))
2090 })().unwrap_or((usize::MAX, 0));
2091 let storage = self.storage.slice(offset, len);
2092 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
2093 }
2094
2095}
2096
2097pub struct AttInformationData16Mut<S: emboss_runtime::MutStorage> {
2098 storage: S,
2099}
2100
2101impl<S: emboss_runtime::MutStorage> AttInformationData16Mut<S> {
2102 pub fn new(storage: S) -> Self {
2103 Self {
2104 storage,
2105 }
2106 }
2107 pub fn into_writer(self) -> AttInformationData16Writer<S, emboss_runtime::UncheckedState> {
2108 AttInformationData16Writer::new(self.storage)
2109 }
2110 pub fn as_view(&self) -> AttInformationData16<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2112 unsafe { AttInformationData16::new_in_state(self.storage.slice(0, self.storage.len())) }
2113 }
2114 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2115 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2116 let offset = (0) as usize;
2117 let len = (2) as usize;
2118 core::result::Result::Ok((offset, len))
2119 })().unwrap_or((usize::MAX, 0));
2120 let storage = self.storage.slice_mut(offset, len);
2121 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2122 }
2123 pub fn uuid(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2124 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2125 let offset = (2) as usize;
2126 let len = (2) as usize;
2127 core::result::Result::Ok((offset, len))
2128 })().unwrap_or((usize::MAX, 0));
2129 let storage = self.storage.slice_mut(offset, len);
2130 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2131 }
2132
2133}
2134
2135impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttInformationData16Mut<S> {
2136 type Writer = AttInformationData16Writer<S, emboss_runtime::UncheckedState>;
2137 fn into_writer(self) -> Self::Writer {
2138 AttInformationData16Writer::new(self.storage)
2139 }
2140}
2141
2142pub struct AttInformationData16Writer<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2143 storage: S,
2144 _marker: core::marker::PhantomData<ST>,
2145}
2146
2147impl<S: emboss_runtime::MutStorage> AttInformationData16Writer<S, emboss_runtime::UncheckedState> {
2148 pub fn new(storage: S) -> Self {
2149 Self {
2150 storage,
2151 _marker: core::marker::PhantomData,
2152 }
2153 }
2154}
2155
2156impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttInformationData16Writer<S, ST> {
2157 pub unsafe fn new_in_state(storage: S) -> Self {
2165 Self {
2166 storage,
2167 _marker: core::marker::PhantomData,
2168 }
2169 }
2170 pub fn into_storage(self) -> S {
2171 self.storage
2172 }
2173 pub fn into_view(self) -> AttInformationData16<S, ST> {
2175 unsafe { AttInformationData16::new_in_state(self.storage) }
2176 }
2177 pub fn as_view(&self) -> AttInformationData16<S::Sliced<'_>, ST> {
2179 unsafe { AttInformationData16::new_in_state(self.storage.slice(0, self.storage.len())) }
2180 }
2181 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttInformationData16Writer<S, ST::OnValidMutation> {
2182 let view = self.into_view();
2183 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2184 let offset = (0) as usize;
2185 let len = (2) as usize;
2186 core::result::Result::Ok((offset, len))
2187 })().expect("valid layout in complete state");
2188 let mut storage = view.into_storage();
2189 {
2190 let slice = storage.slice_mut(offset, len);
2191 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
2192 field_view.try_write(val).expect("valid write in complete state");
2193 }
2194 unsafe { AttInformationData16Writer::new_in_state(storage) }
2195 }
2196 pub fn write_uuid(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttInformationData16Writer<S, ST::OnValidMutation> {
2197 let view = self.into_view();
2198 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2199 let offset = (2) as usize;
2200 let len = (2) as usize;
2201 core::result::Result::Ok((offset, len))
2202 })().expect("valid layout in complete state");
2203 let mut storage = view.into_storage();
2204 {
2205 let slice = storage.slice_mut(offset, len);
2206 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
2207 field_view.try_write(val).expect("valid write in complete state");
2208 }
2209 unsafe { AttInformationData16Writer::new_in_state(storage) }
2210 }
2211
2212}
2213
2214impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttInformationData16<S, ST> {
2215 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2216 let view = self;
2217 core::result::Result::Ok((4) as usize)
2218 }
2219}
2220
2221impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttInformationData16Mut<S> {
2222 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2223 let view = self.as_view();
2224 <AttInformationData16<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
2225 }
2226}
2227
2228impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttInformationData16Writer<S, ST> {
2229 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2230 let view = self.as_view();
2231 <AttInformationData16<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
2232 }
2233}
2234
2235impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttInformationData16<S, emboss_runtime::UncheckedState> {
2236 type Completed = AttInformationData16<S, emboss_runtime::CompleteState>;
2237 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2238 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2239 if self.storage.len() < required_size {
2240 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2241 }
2242 core::result::Result::Ok(unsafe { AttInformationData16::new_in_state(self.storage) })
2243 }
2244}
2245
2246impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttInformationData16Writer<S, emboss_runtime::UncheckedState> {
2247 type Completed = AttInformationData16Writer<S, emboss_runtime::CompleteState>;
2248 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2249 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2250 if self.storage.len() < required_size {
2251 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2252 }
2253 core::result::Result::Ok(unsafe { AttInformationData16Writer::new_in_state(self.storage) })
2254 }
2255}
2256
2257impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttInformationData16<S, emboss_runtime::UncheckedState> {
2258 type Ok = AttInformationData16<S, emboss_runtime::OkState>;
2259 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2260 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2261 core::result::Result::Ok(unsafe { AttInformationData16::new_in_state(completed.into_storage()) })
2262 }
2263}
2264
2265impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttInformationData16<S, emboss_runtime::CompleteState> {
2266 type Ok = AttInformationData16<S, emboss_runtime::OkState>;
2267 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2268 core::result::Result::Ok(unsafe { AttInformationData16::new_in_state(self.into_storage()) })
2269 }
2270}
2271
2272impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttInformationData16<S, emboss_runtime::OkState> {
2273 type Ok = AttInformationData16<S, emboss_runtime::OkState>;
2274 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2275 core::result::Result::Ok(self)
2276 }
2277}
2278
2279impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttInformationData16Writer<S, emboss_runtime::UncheckedState> {
2280 type Ok = AttInformationData16Writer<S, emboss_runtime::OkState>;
2281 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2282 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2283 core::result::Result::Ok(unsafe { AttInformationData16Writer::new_in_state(completed.into_storage()) })
2284 }
2285}
2286
2287impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttInformationData16Writer<S, emboss_runtime::CompleteState> {
2288 type Ok = AttInformationData16Writer<S, emboss_runtime::OkState>;
2289 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2290 core::result::Result::Ok(unsafe { AttInformationData16Writer::new_in_state(self.into_storage()) })
2291 }
2292}
2293
2294impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttInformationData16Writer<S, emboss_runtime::OkState> {
2295 type Ok = AttInformationData16Writer<S, emboss_runtime::OkState>;
2296 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2297 core::result::Result::Ok(self)
2298 }
2299}
2300
2301pub mod att_information_data16 {
2302 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttInformationData16<S, ST>;
2303 pub type ViewMut<S> = super::AttInformationData16Mut<S>;
2304 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttInformationData16Writer<S, ST>;
2305
2306 pub const MIN_SIZE_IN_BYTES: usize = 4;
2307 pub const MAX_SIZE_IN_BYTES: usize = 4;
2308 pub const SIZE_IN_BYTES: usize = 4;
2309}pub struct AttInformationData128_Uuid_ArrayView<S: emboss_runtime::Storage> {
2310 storage: S,
2311 element_count: usize,
2312}
2313
2314impl<S: emboss_runtime::Storage + core::clone::Clone> core::clone::Clone for AttInformationData128_Uuid_ArrayView<S> {
2315 fn clone(&self) -> Self {
2316 Self {
2317 storage: self.storage.clone(),
2318 element_count: self.element_count,
2319 }
2320 }
2321}
2322
2323impl<S: emboss_runtime::Storage> AttInformationData128_Uuid_ArrayView<S> {
2324 pub const ELEMENT_SIZE_BYTES: usize = 1;
2325 pub fn new(storage: S, element_count: usize) -> Self {
2326 Self { storage, element_count }
2327 }
2328 pub fn element_count(&self) -> usize {
2329 self.element_count
2330 }
2331 pub fn get(&self, index: usize) -> core::result::Result<emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>>
2332, emboss_runtime::Error> {
2333 if index >= self.element_count {
2334 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2335 }
2336 let offset = index * Self::ELEMENT_SIZE_BYTES;
2337 let storage = self.storage.slice(offset, Self::ELEMENT_SIZE_BYTES);
2338 core::result::Result::Ok(emboss_runtime::UInt::new(storage)
2339)
2340 }
2341}
2342
2343pub struct AttInformationData128_Uuid_ArrayViewMut<S: emboss_runtime::MutStorage> {
2344 storage: S,
2345 element_count: usize,
2346}
2347
2348impl<S: emboss_runtime::MutStorage> AttInformationData128_Uuid_ArrayViewMut<S> {
2349 pub const ELEMENT_SIZE_BYTES: usize = 1;
2350 pub fn new(storage: S, element_count: usize) -> Self {
2351 Self { storage, element_count }
2352 }
2353 pub fn element_count(&self) -> usize {
2354 self.element_count
2355 }
2356 pub fn get_mut(&mut self, index: usize) -> core::result::Result<emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>>
2357, emboss_runtime::Error> {
2358 if index >= self.element_count {
2359 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2360 }
2361 let offset = index * Self::ELEMENT_SIZE_BYTES;
2362 let storage = self.storage.slice_mut(offset, Self::ELEMENT_SIZE_BYTES);
2363 core::result::Result::Ok(emboss_runtime::UInt::new(storage)
2364)
2365 }
2366}
2367pub struct AttInformationData128<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2368 storage: S,
2369 _marker: core::marker::PhantomData<ST>,
2370}
2371
2372impl<S: emboss_runtime::Storage> AttInformationData128<S, emboss_runtime::UncheckedState> {
2373 pub fn new(storage: S) -> Self {
2374 Self {
2375 storage,
2376 _marker: core::marker::PhantomData,
2377 }
2378 }
2379}
2380
2381impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttInformationData128<S, ST> {
2382 fn clone(&self) -> Self {
2383 Self {
2384 storage: self.storage.clone(),
2385 _marker: core::marker::PhantomData,
2386 }
2387 }
2388}
2389
2390impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttInformationData128<S, ST> {
2391 pub unsafe fn new_in_state(storage: S) -> Self {
2399 Self {
2400 storage,
2401 _marker: core::marker::PhantomData,
2402 }
2403 }
2404 pub fn into_storage(self) -> S {
2405 self.storage
2406 }
2407 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
2408 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2409 let offset = (0) as usize;
2410 let len = (2) as usize;
2411 core::result::Result::Ok((offset, len))
2412 })().unwrap_or((usize::MAX, 0));
2413 let storage = self.storage.slice(offset, len);
2414 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
2415 }
2416 pub fn uuid(&self) -> core::result::Result<AttInformationData128_Uuid_ArrayView<S::Sliced<'_>>, emboss_runtime::Error> {
2417 let offset_res = (|| -> core::result::Result<(usize, usize, usize), emboss_runtime::Error> {
2418 let offset = (2) as usize;
2419 let len = (16) as usize;
2420 let element_count = (len / (1)) as usize;
2421 core::result::Result::Ok((offset, len, element_count))
2422 })();
2423 match offset_res {
2424 core::result::Result::Ok((offset, len, element_count)) => {
2425 if len > 0 {
2426 let end = offset.checked_add(len).ok_or(emboss_runtime::Error::OutOfBounds)?;
2427 self.storage.try_read_byte(end - 1)?;
2428 }
2429 let storage = self.storage.slice(offset, len);
2430 core::result::Result::Ok(AttInformationData128_Uuid_ArrayView::new(storage, element_count))
2431 },
2432 core::result::Result::Err(e) => core::result::Result::Err(e),
2433 }
2434 }
2435
2436}
2437
2438pub struct AttInformationData128Mut<S: emboss_runtime::MutStorage> {
2439 storage: S,
2440}
2441
2442impl<S: emboss_runtime::MutStorage> AttInformationData128Mut<S> {
2443 pub fn new(storage: S) -> Self {
2444 Self {
2445 storage,
2446 }
2447 }
2448 pub fn into_writer(self) -> AttInformationData128Writer<S, emboss_runtime::UncheckedState> {
2449 AttInformationData128Writer::new(self.storage)
2450 }
2451 pub fn as_view(&self) -> AttInformationData128<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2453 unsafe { AttInformationData128::new_in_state(self.storage.slice(0, self.storage.len())) }
2454 }
2455 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2456 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2457 let offset = (0) as usize;
2458 let len = (2) as usize;
2459 core::result::Result::Ok((offset, len))
2460 })().unwrap_or((usize::MAX, 0));
2461 let storage = self.storage.slice_mut(offset, len);
2462 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2463 }
2464 pub fn uuid_mut(&mut self) -> core::result::Result<AttInformationData128_Uuid_ArrayViewMut<S::SlicedMut<'_>>, emboss_runtime::Error> {
2465 let offset_res = (|| -> core::result::Result<(usize, usize, usize), emboss_runtime::Error> {
2466 let offset = (2) as usize;
2467 let len = (16) as usize;
2468 let element_count = (len / (1)) as usize;
2469 core::result::Result::Ok((offset, len, element_count))
2470 })();
2471 match offset_res {
2472 core::result::Result::Ok((offset, len, element_count)) => {
2473 if len > 0 {
2474 let end = offset.checked_add(len).ok_or(emboss_runtime::Error::OutOfBounds)?;
2475 self.storage.try_read_byte(end - 1)?;
2476 }
2477 let storage = self.storage.slice_mut(offset, len);
2478 core::result::Result::Ok(AttInformationData128_Uuid_ArrayViewMut::new(storage, element_count))
2479 },
2480 core::result::Result::Err(e) => core::result::Result::Err(e),
2481 }
2482 }
2483
2484}
2485
2486impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttInformationData128Mut<S> {
2487 type Writer = AttInformationData128Writer<S, emboss_runtime::UncheckedState>;
2488 fn into_writer(self) -> Self::Writer {
2489 AttInformationData128Writer::new(self.storage)
2490 }
2491}
2492
2493pub struct AttInformationData128Writer<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2494 storage: S,
2495 _marker: core::marker::PhantomData<ST>,
2496}
2497
2498impl<S: emboss_runtime::MutStorage> AttInformationData128Writer<S, emboss_runtime::UncheckedState> {
2499 pub fn new(storage: S) -> Self {
2500 Self {
2501 storage,
2502 _marker: core::marker::PhantomData,
2503 }
2504 }
2505}
2506
2507impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttInformationData128Writer<S, ST> {
2508 pub unsafe fn new_in_state(storage: S) -> Self {
2516 Self {
2517 storage,
2518 _marker: core::marker::PhantomData,
2519 }
2520 }
2521 pub fn into_storage(self) -> S {
2522 self.storage
2523 }
2524 pub fn into_view(self) -> AttInformationData128<S, ST> {
2526 unsafe { AttInformationData128::new_in_state(self.storage) }
2527 }
2528 pub fn as_view(&self) -> AttInformationData128<S::Sliced<'_>, ST> {
2530 unsafe { AttInformationData128::new_in_state(self.storage.slice(0, self.storage.len())) }
2531 }
2532 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttInformationData128Writer<S, ST::OnValidMutation> {
2533 let view = self.into_view();
2534 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2535 let offset = (0) as usize;
2536 let len = (2) as usize;
2537 core::result::Result::Ok((offset, len))
2538 })().expect("valid layout in complete state");
2539 let mut storage = view.into_storage();
2540 {
2541 let slice = storage.slice_mut(offset, len);
2542 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
2543 field_view.try_write(val).expect("valid write in complete state");
2544 }
2545 unsafe { AttInformationData128Writer::new_in_state(storage) }
2546 }
2547
2548}
2549
2550impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttInformationData128<S, ST> {
2551 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2552 let view = self;
2553 core::result::Result::Ok((18) as usize)
2554 }
2555}
2556
2557impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttInformationData128Mut<S> {
2558 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2559 let view = self.as_view();
2560 <AttInformationData128<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
2561 }
2562}
2563
2564impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttInformationData128Writer<S, ST> {
2565 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2566 let view = self.as_view();
2567 <AttInformationData128<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
2568 }
2569}
2570
2571impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttInformationData128<S, emboss_runtime::UncheckedState> {
2572 type Completed = AttInformationData128<S, emboss_runtime::CompleteState>;
2573 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2574 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2575 if self.storage.len() < required_size {
2576 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2577 }
2578 core::result::Result::Ok(unsafe { AttInformationData128::new_in_state(self.storage) })
2579 }
2580}
2581
2582impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttInformationData128Writer<S, emboss_runtime::UncheckedState> {
2583 type Completed = AttInformationData128Writer<S, emboss_runtime::CompleteState>;
2584 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2585 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2586 if self.storage.len() < required_size {
2587 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2588 }
2589 core::result::Result::Ok(unsafe { AttInformationData128Writer::new_in_state(self.storage) })
2590 }
2591}
2592
2593impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttInformationData128<S, emboss_runtime::UncheckedState> {
2594 type Ok = AttInformationData128<S, emboss_runtime::OkState>;
2595 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2596 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2597 core::result::Result::Ok(unsafe { AttInformationData128::new_in_state(completed.into_storage()) })
2598 }
2599}
2600
2601impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttInformationData128<S, emboss_runtime::CompleteState> {
2602 type Ok = AttInformationData128<S, emboss_runtime::OkState>;
2603 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2604 core::result::Result::Ok(unsafe { AttInformationData128::new_in_state(self.into_storage()) })
2605 }
2606}
2607
2608impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttInformationData128<S, emboss_runtime::OkState> {
2609 type Ok = AttInformationData128<S, emboss_runtime::OkState>;
2610 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2611 core::result::Result::Ok(self)
2612 }
2613}
2614
2615impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttInformationData128Writer<S, emboss_runtime::UncheckedState> {
2616 type Ok = AttInformationData128Writer<S, emboss_runtime::OkState>;
2617 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2618 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2619 core::result::Result::Ok(unsafe { AttInformationData128Writer::new_in_state(completed.into_storage()) })
2620 }
2621}
2622
2623impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttInformationData128Writer<S, emboss_runtime::CompleteState> {
2624 type Ok = AttInformationData128Writer<S, emboss_runtime::OkState>;
2625 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2626 core::result::Result::Ok(unsafe { AttInformationData128Writer::new_in_state(self.into_storage()) })
2627 }
2628}
2629
2630impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttInformationData128Writer<S, emboss_runtime::OkState> {
2631 type Ok = AttInformationData128Writer<S, emboss_runtime::OkState>;
2632 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2633 core::result::Result::Ok(self)
2634 }
2635}
2636
2637pub mod att_information_data128 {
2638 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttInformationData128<S, ST>;
2639 pub type ViewMut<S> = super::AttInformationData128Mut<S>;
2640 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttInformationData128Writer<S, ST>;
2641
2642 pub const MIN_SIZE_IN_BYTES: usize = 18;
2643 pub const MAX_SIZE_IN_BYTES: usize = 18;
2644 pub const SIZE_IN_BYTES: usize = 18;
2645}pub struct AttFindByTypeValueReqHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2646 storage: S,
2647 _marker: core::marker::PhantomData<ST>,
2648}
2649
2650impl<S: emboss_runtime::Storage> AttFindByTypeValueReqHeader<S, emboss_runtime::UncheckedState> {
2651 pub fn new(storage: S) -> Self {
2652 Self {
2653 storage,
2654 _marker: core::marker::PhantomData,
2655 }
2656 }
2657}
2658
2659impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttFindByTypeValueReqHeader<S, ST> {
2660 fn clone(&self) -> Self {
2661 Self {
2662 storage: self.storage.clone(),
2663 _marker: core::marker::PhantomData,
2664 }
2665 }
2666}
2667
2668impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttFindByTypeValueReqHeader<S, ST> {
2669 pub unsafe fn new_in_state(storage: S) -> Self {
2677 Self {
2678 storage,
2679 _marker: core::marker::PhantomData,
2680 }
2681 }
2682 pub fn into_storage(self) -> S {
2683 self.storage
2684 }
2685 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
2686 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2687 let offset = (0) as usize;
2688 let len = (1) as usize;
2689 core::result::Result::Ok((offset, len))
2690 })().unwrap_or((usize::MAX, 0));
2691 let storage = self.storage.slice(offset, len);
2692 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
2693 }
2694 pub fn starting_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
2695 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2696 let offset = (1) as usize;
2697 let len = (2) as usize;
2698 core::result::Result::Ok((offset, len))
2699 })().unwrap_or((usize::MAX, 0));
2700 let storage = self.storage.slice(offset, len);
2701 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
2702 }
2703 pub fn ending_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
2704 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2705 let offset = (3) as usize;
2706 let len = (2) as usize;
2707 core::result::Result::Ok((offset, len))
2708 })().unwrap_or((usize::MAX, 0));
2709 let storage = self.storage.slice(offset, len);
2710 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
2711 }
2712 pub fn attribute_type(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
2713 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2714 let offset = (5) as usize;
2715 let len = (2) as usize;
2716 core::result::Result::Ok((offset, len))
2717 })().unwrap_or((usize::MAX, 0));
2718 let storage = self.storage.slice(offset, len);
2719 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
2720 }
2721
2722}
2723
2724pub struct AttFindByTypeValueReqHeaderMut<S: emboss_runtime::MutStorage> {
2725 storage: S,
2726}
2727
2728impl<S: emboss_runtime::MutStorage> AttFindByTypeValueReqHeaderMut<S> {
2729 pub fn new(storage: S) -> Self {
2730 Self {
2731 storage,
2732 }
2733 }
2734 pub fn into_writer(self) -> AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::UncheckedState> {
2735 AttFindByTypeValueReqHeaderWriter::new(self.storage)
2736 }
2737 pub fn as_view(&self) -> AttFindByTypeValueReqHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2739 unsafe { AttFindByTypeValueReqHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
2740 }
2741 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
2742 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2743 let offset = (0) as usize;
2744 let len = (1) as usize;
2745 core::result::Result::Ok((offset, len))
2746 })().unwrap_or((usize::MAX, 0));
2747 let storage = self.storage.slice_mut(offset, len);
2748 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
2749 }
2750 pub fn starting_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2751 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2752 let offset = (1) as usize;
2753 let len = (2) as usize;
2754 core::result::Result::Ok((offset, len))
2755 })().unwrap_or((usize::MAX, 0));
2756 let storage = self.storage.slice_mut(offset, len);
2757 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2758 }
2759 pub fn ending_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2760 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2761 let offset = (3) as usize;
2762 let len = (2) as usize;
2763 core::result::Result::Ok((offset, len))
2764 })().unwrap_or((usize::MAX, 0));
2765 let storage = self.storage.slice_mut(offset, len);
2766 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2767 }
2768 pub fn attribute_type(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2769 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2770 let offset = (5) as usize;
2771 let len = (2) as usize;
2772 core::result::Result::Ok((offset, len))
2773 })().unwrap_or((usize::MAX, 0));
2774 let storage = self.storage.slice_mut(offset, len);
2775 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2776 }
2777
2778}
2779
2780impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttFindByTypeValueReqHeaderMut<S> {
2781 type Writer = AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::UncheckedState>;
2782 fn into_writer(self) -> Self::Writer {
2783 AttFindByTypeValueReqHeaderWriter::new(self.storage)
2784 }
2785}
2786
2787pub struct AttFindByTypeValueReqHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2788 storage: S,
2789 _marker: core::marker::PhantomData<ST>,
2790}
2791
2792impl<S: emboss_runtime::MutStorage> AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::UncheckedState> {
2793 pub fn new(storage: S) -> Self {
2794 Self {
2795 storage,
2796 _marker: core::marker::PhantomData,
2797 }
2798 }
2799}
2800
2801impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttFindByTypeValueReqHeaderWriter<S, ST> {
2802 pub unsafe fn new_in_state(storage: S) -> Self {
2810 Self {
2811 storage,
2812 _marker: core::marker::PhantomData,
2813 }
2814 }
2815 pub fn into_storage(self) -> S {
2816 self.storage
2817 }
2818 pub fn into_view(self) -> AttFindByTypeValueReqHeader<S, ST> {
2820 unsafe { AttFindByTypeValueReqHeader::new_in_state(self.storage) }
2821 }
2822 pub fn as_view(&self) -> AttFindByTypeValueReqHeader<S::Sliced<'_>, ST> {
2824 unsafe { AttFindByTypeValueReqHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
2825 }
2826 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttFindByTypeValueReqHeaderWriter<S, ST::OnValidMutation> {
2827 let view = self.into_view();
2828 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2829 let offset = (0) as usize;
2830 let len = (1) as usize;
2831 core::result::Result::Ok((offset, len))
2832 })().expect("valid layout in complete state");
2833 let mut storage = view.into_storage();
2834 {
2835 let slice = storage.slice_mut(offset, len);
2836 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
2837 field_view.try_write(val).expect("valid write in complete state");
2838 }
2839 unsafe { AttFindByTypeValueReqHeaderWriter::new_in_state(storage) }
2840 }
2841 pub fn write_starting_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttFindByTypeValueReqHeaderWriter<S, ST::OnValidMutation> {
2842 let view = self.into_view();
2843 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2844 let offset = (1) as usize;
2845 let len = (2) as usize;
2846 core::result::Result::Ok((offset, len))
2847 })().expect("valid layout in complete state");
2848 let mut storage = view.into_storage();
2849 {
2850 let slice = storage.slice_mut(offset, len);
2851 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
2852 field_view.try_write(val).expect("valid write in complete state");
2853 }
2854 unsafe { AttFindByTypeValueReqHeaderWriter::new_in_state(storage) }
2855 }
2856 pub fn write_ending_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttFindByTypeValueReqHeaderWriter<S, ST::OnValidMutation> {
2857 let view = self.into_view();
2858 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2859 let offset = (3) as usize;
2860 let len = (2) as usize;
2861 core::result::Result::Ok((offset, len))
2862 })().expect("valid layout in complete state");
2863 let mut storage = view.into_storage();
2864 {
2865 let slice = storage.slice_mut(offset, len);
2866 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
2867 field_view.try_write(val).expect("valid write in complete state");
2868 }
2869 unsafe { AttFindByTypeValueReqHeaderWriter::new_in_state(storage) }
2870 }
2871 pub fn write_attribute_type(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttFindByTypeValueReqHeaderWriter<S, ST::OnValidMutation> {
2872 let view = self.into_view();
2873 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2874 let offset = (5) as usize;
2875 let len = (2) as usize;
2876 core::result::Result::Ok((offset, len))
2877 })().expect("valid layout in complete state");
2878 let mut storage = view.into_storage();
2879 {
2880 let slice = storage.slice_mut(offset, len);
2881 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
2882 field_view.try_write(val).expect("valid write in complete state");
2883 }
2884 unsafe { AttFindByTypeValueReqHeaderWriter::new_in_state(storage) }
2885 }
2886
2887}
2888
2889impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttFindByTypeValueReqHeader<S, ST> {
2890 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2891 let view = self;
2892 core::result::Result::Ok((7) as usize)
2893 }
2894}
2895
2896impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttFindByTypeValueReqHeaderMut<S> {
2897 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2898 let view = self.as_view();
2899 <AttFindByTypeValueReqHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
2900 }
2901}
2902
2903impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttFindByTypeValueReqHeaderWriter<S, ST> {
2904 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2905 let view = self.as_view();
2906 <AttFindByTypeValueReqHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
2907 }
2908}
2909
2910impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttFindByTypeValueReqHeader<S, emboss_runtime::UncheckedState> {
2911 type Completed = AttFindByTypeValueReqHeader<S, emboss_runtime::CompleteState>;
2912 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2913 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2914 if self.storage.len() < required_size {
2915 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2916 }
2917 core::result::Result::Ok(unsafe { AttFindByTypeValueReqHeader::new_in_state(self.storage) })
2918 }
2919}
2920
2921impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::UncheckedState> {
2922 type Completed = AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::CompleteState>;
2923 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2924 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2925 if self.storage.len() < required_size {
2926 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2927 }
2928 core::result::Result::Ok(unsafe { AttFindByTypeValueReqHeaderWriter::new_in_state(self.storage) })
2929 }
2930}
2931
2932impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindByTypeValueReqHeader<S, emboss_runtime::UncheckedState> {
2933 type Ok = AttFindByTypeValueReqHeader<S, emboss_runtime::OkState>;
2934 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2935 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2936 core::result::Result::Ok(unsafe { AttFindByTypeValueReqHeader::new_in_state(completed.into_storage()) })
2937 }
2938}
2939
2940impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindByTypeValueReqHeader<S, emboss_runtime::CompleteState> {
2941 type Ok = AttFindByTypeValueReqHeader<S, emboss_runtime::OkState>;
2942 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2943 core::result::Result::Ok(unsafe { AttFindByTypeValueReqHeader::new_in_state(self.into_storage()) })
2944 }
2945}
2946
2947impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttFindByTypeValueReqHeader<S, emboss_runtime::OkState> {
2948 type Ok = AttFindByTypeValueReqHeader<S, emboss_runtime::OkState>;
2949 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2950 core::result::Result::Ok(self)
2951 }
2952}
2953
2954impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::UncheckedState> {
2955 type Ok = AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::OkState>;
2956 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2957 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2958 core::result::Result::Ok(unsafe { AttFindByTypeValueReqHeaderWriter::new_in_state(completed.into_storage()) })
2959 }
2960}
2961
2962impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::CompleteState> {
2963 type Ok = AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::OkState>;
2964 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2965 core::result::Result::Ok(unsafe { AttFindByTypeValueReqHeaderWriter::new_in_state(self.into_storage()) })
2966 }
2967}
2968
2969impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::OkState> {
2970 type Ok = AttFindByTypeValueReqHeaderWriter<S, emboss_runtime::OkState>;
2971 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2972 core::result::Result::Ok(self)
2973 }
2974}
2975
2976pub mod att_find_by_type_value_req_header {
2977 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttFindByTypeValueReqHeader<S, ST>;
2978 pub type ViewMut<S> = super::AttFindByTypeValueReqHeaderMut<S>;
2979 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttFindByTypeValueReqHeaderWriter<S, ST>;
2980
2981 pub const MIN_SIZE_IN_BYTES: usize = 7;
2982 pub const MAX_SIZE_IN_BYTES: usize = 7;
2983 pub const SIZE_IN_BYTES: usize = 7;
2984}pub struct AttHandlesInformation<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2985 storage: S,
2986 _marker: core::marker::PhantomData<ST>,
2987}
2988
2989impl<S: emboss_runtime::Storage> AttHandlesInformation<S, emboss_runtime::UncheckedState> {
2990 pub fn new(storage: S) -> Self {
2991 Self {
2992 storage,
2993 _marker: core::marker::PhantomData,
2994 }
2995 }
2996}
2997
2998impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttHandlesInformation<S, ST> {
2999 fn clone(&self) -> Self {
3000 Self {
3001 storage: self.storage.clone(),
3002 _marker: core::marker::PhantomData,
3003 }
3004 }
3005}
3006
3007impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttHandlesInformation<S, ST> {
3008 pub unsafe fn new_in_state(storage: S) -> Self {
3016 Self {
3017 storage,
3018 _marker: core::marker::PhantomData,
3019 }
3020 }
3021 pub fn into_storage(self) -> S {
3022 self.storage
3023 }
3024 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3025 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3026 let offset = (0) as usize;
3027 let len = (2) as usize;
3028 core::result::Result::Ok((offset, len))
3029 })().unwrap_or((usize::MAX, 0));
3030 let storage = self.storage.slice(offset, len);
3031 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3032 }
3033 pub fn group_end_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3034 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3035 let offset = (2) as usize;
3036 let len = (2) as usize;
3037 core::result::Result::Ok((offset, len))
3038 })().unwrap_or((usize::MAX, 0));
3039 let storage = self.storage.slice(offset, len);
3040 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3041 }
3042
3043}
3044
3045pub struct AttHandlesInformationMut<S: emboss_runtime::MutStorage> {
3046 storage: S,
3047}
3048
3049impl<S: emboss_runtime::MutStorage> AttHandlesInformationMut<S> {
3050 pub fn new(storage: S) -> Self {
3051 Self {
3052 storage,
3053 }
3054 }
3055 pub fn into_writer(self) -> AttHandlesInformationWriter<S, emboss_runtime::UncheckedState> {
3056 AttHandlesInformationWriter::new(self.storage)
3057 }
3058 pub fn as_view(&self) -> AttHandlesInformation<S::Sliced<'_>, emboss_runtime::UncheckedState> {
3060 unsafe { AttHandlesInformation::new_in_state(self.storage.slice(0, self.storage.len())) }
3061 }
3062 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3063 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3064 let offset = (0) as usize;
3065 let len = (2) as usize;
3066 core::result::Result::Ok((offset, len))
3067 })().unwrap_or((usize::MAX, 0));
3068 let storage = self.storage.slice_mut(offset, len);
3069 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3070 }
3071 pub fn group_end_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3072 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3073 let offset = (2) as usize;
3074 let len = (2) as usize;
3075 core::result::Result::Ok((offset, len))
3076 })().unwrap_or((usize::MAX, 0));
3077 let storage = self.storage.slice_mut(offset, len);
3078 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3079 }
3080
3081}
3082
3083impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttHandlesInformationMut<S> {
3084 type Writer = AttHandlesInformationWriter<S, emboss_runtime::UncheckedState>;
3085 fn into_writer(self) -> Self::Writer {
3086 AttHandlesInformationWriter::new(self.storage)
3087 }
3088}
3089
3090pub struct AttHandlesInformationWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
3091 storage: S,
3092 _marker: core::marker::PhantomData<ST>,
3093}
3094
3095impl<S: emboss_runtime::MutStorage> AttHandlesInformationWriter<S, emboss_runtime::UncheckedState> {
3096 pub fn new(storage: S) -> Self {
3097 Self {
3098 storage,
3099 _marker: core::marker::PhantomData,
3100 }
3101 }
3102}
3103
3104impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttHandlesInformationWriter<S, ST> {
3105 pub unsafe fn new_in_state(storage: S) -> Self {
3113 Self {
3114 storage,
3115 _marker: core::marker::PhantomData,
3116 }
3117 }
3118 pub fn into_storage(self) -> S {
3119 self.storage
3120 }
3121 pub fn into_view(self) -> AttHandlesInformation<S, ST> {
3123 unsafe { AttHandlesInformation::new_in_state(self.storage) }
3124 }
3125 pub fn as_view(&self) -> AttHandlesInformation<S::Sliced<'_>, ST> {
3127 unsafe { AttHandlesInformation::new_in_state(self.storage.slice(0, self.storage.len())) }
3128 }
3129 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttHandlesInformationWriter<S, ST::OnValidMutation> {
3130 let view = self.into_view();
3131 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3132 let offset = (0) as usize;
3133 let len = (2) as usize;
3134 core::result::Result::Ok((offset, len))
3135 })().expect("valid layout in complete state");
3136 let mut storage = view.into_storage();
3137 {
3138 let slice = storage.slice_mut(offset, len);
3139 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
3140 field_view.try_write(val).expect("valid write in complete state");
3141 }
3142 unsafe { AttHandlesInformationWriter::new_in_state(storage) }
3143 }
3144 pub fn write_group_end_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttHandlesInformationWriter<S, ST::OnValidMutation> {
3145 let view = self.into_view();
3146 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3147 let offset = (2) as usize;
3148 let len = (2) as usize;
3149 core::result::Result::Ok((offset, len))
3150 })().expect("valid layout in complete state");
3151 let mut storage = view.into_storage();
3152 {
3153 let slice = storage.slice_mut(offset, len);
3154 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
3155 field_view.try_write(val).expect("valid write in complete state");
3156 }
3157 unsafe { AttHandlesInformationWriter::new_in_state(storage) }
3158 }
3159
3160}
3161
3162impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttHandlesInformation<S, ST> {
3163 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3164 let view = self;
3165 core::result::Result::Ok((4) as usize)
3166 }
3167}
3168
3169impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttHandlesInformationMut<S> {
3170 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3171 let view = self.as_view();
3172 <AttHandlesInformation<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
3173 }
3174}
3175
3176impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttHandlesInformationWriter<S, ST> {
3177 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3178 let view = self.as_view();
3179 <AttHandlesInformation<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
3180 }
3181}
3182
3183impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttHandlesInformation<S, emboss_runtime::UncheckedState> {
3184 type Completed = AttHandlesInformation<S, emboss_runtime::CompleteState>;
3185 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
3186 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
3187 if self.storage.len() < required_size {
3188 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
3189 }
3190 core::result::Result::Ok(unsafe { AttHandlesInformation::new_in_state(self.storage) })
3191 }
3192}
3193
3194impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttHandlesInformationWriter<S, emboss_runtime::UncheckedState> {
3195 type Completed = AttHandlesInformationWriter<S, emboss_runtime::CompleteState>;
3196 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
3197 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
3198 if self.storage.len() < required_size {
3199 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
3200 }
3201 core::result::Result::Ok(unsafe { AttHandlesInformationWriter::new_in_state(self.storage) })
3202 }
3203}
3204
3205impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandlesInformation<S, emboss_runtime::UncheckedState> {
3206 type Ok = AttHandlesInformation<S, emboss_runtime::OkState>;
3207 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3208 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
3209 core::result::Result::Ok(unsafe { AttHandlesInformation::new_in_state(completed.into_storage()) })
3210 }
3211}
3212
3213impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandlesInformation<S, emboss_runtime::CompleteState> {
3214 type Ok = AttHandlesInformation<S, emboss_runtime::OkState>;
3215 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3216 core::result::Result::Ok(unsafe { AttHandlesInformation::new_in_state(self.into_storage()) })
3217 }
3218}
3219
3220impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandlesInformation<S, emboss_runtime::OkState> {
3221 type Ok = AttHandlesInformation<S, emboss_runtime::OkState>;
3222 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3223 core::result::Result::Ok(self)
3224 }
3225}
3226
3227impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandlesInformationWriter<S, emboss_runtime::UncheckedState> {
3228 type Ok = AttHandlesInformationWriter<S, emboss_runtime::OkState>;
3229 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3230 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
3231 core::result::Result::Ok(unsafe { AttHandlesInformationWriter::new_in_state(completed.into_storage()) })
3232 }
3233}
3234
3235impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandlesInformationWriter<S, emboss_runtime::CompleteState> {
3236 type Ok = AttHandlesInformationWriter<S, emboss_runtime::OkState>;
3237 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3238 core::result::Result::Ok(unsafe { AttHandlesInformationWriter::new_in_state(self.into_storage()) })
3239 }
3240}
3241
3242impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandlesInformationWriter<S, emboss_runtime::OkState> {
3243 type Ok = AttHandlesInformationWriter<S, emboss_runtime::OkState>;
3244 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3245 core::result::Result::Ok(self)
3246 }
3247}
3248
3249pub mod att_handles_information {
3250 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttHandlesInformation<S, ST>;
3251 pub type ViewMut<S> = super::AttHandlesInformationMut<S>;
3252 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttHandlesInformationWriter<S, ST>;
3253
3254 pub const MIN_SIZE_IN_BYTES: usize = 4;
3255 pub const MAX_SIZE_IN_BYTES: usize = 4;
3256 pub const SIZE_IN_BYTES: usize = 4;
3257}pub struct AttReadByTypeReqHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
3258 storage: S,
3259 _marker: core::marker::PhantomData<ST>,
3260}
3261
3262impl<S: emboss_runtime::Storage> AttReadByTypeReqHeader<S, emboss_runtime::UncheckedState> {
3263 pub fn new(storage: S) -> Self {
3264 Self {
3265 storage,
3266 _marker: core::marker::PhantomData,
3267 }
3268 }
3269}
3270
3271impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttReadByTypeReqHeader<S, ST> {
3272 fn clone(&self) -> Self {
3273 Self {
3274 storage: self.storage.clone(),
3275 _marker: core::marker::PhantomData,
3276 }
3277 }
3278}
3279
3280impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttReadByTypeReqHeader<S, ST> {
3281 pub unsafe fn new_in_state(storage: S) -> Self {
3289 Self {
3290 storage,
3291 _marker: core::marker::PhantomData,
3292 }
3293 }
3294 pub fn into_storage(self) -> S {
3295 self.storage
3296 }
3297 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
3298 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3299 let offset = (0) as usize;
3300 let len = (1) as usize;
3301 core::result::Result::Ok((offset, len))
3302 })().unwrap_or((usize::MAX, 0));
3303 let storage = self.storage.slice(offset, len);
3304 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
3305 }
3306 pub fn starting_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3307 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3308 let offset = (1) as usize;
3309 let len = (2) as usize;
3310 core::result::Result::Ok((offset, len))
3311 })().unwrap_or((usize::MAX, 0));
3312 let storage = self.storage.slice(offset, len);
3313 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3314 }
3315 pub fn ending_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3316 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3317 let offset = (3) as usize;
3318 let len = (2) as usize;
3319 core::result::Result::Ok((offset, len))
3320 })().unwrap_or((usize::MAX, 0));
3321 let storage = self.storage.slice(offset, len);
3322 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3323 }
3324
3325}
3326
3327pub struct AttReadByTypeReqHeaderMut<S: emboss_runtime::MutStorage> {
3328 storage: S,
3329}
3330
3331impl<S: emboss_runtime::MutStorage> AttReadByTypeReqHeaderMut<S> {
3332 pub fn new(storage: S) -> Self {
3333 Self {
3334 storage,
3335 }
3336 }
3337 pub fn into_writer(self) -> AttReadByTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3338 AttReadByTypeReqHeaderWriter::new(self.storage)
3339 }
3340 pub fn as_view(&self) -> AttReadByTypeReqHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
3342 unsafe { AttReadByTypeReqHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
3343 }
3344 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
3345 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3346 let offset = (0) as usize;
3347 let len = (1) as usize;
3348 core::result::Result::Ok((offset, len))
3349 })().unwrap_or((usize::MAX, 0));
3350 let storage = self.storage.slice_mut(offset, len);
3351 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
3352 }
3353 pub fn starting_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3354 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3355 let offset = (1) as usize;
3356 let len = (2) as usize;
3357 core::result::Result::Ok((offset, len))
3358 })().unwrap_or((usize::MAX, 0));
3359 let storage = self.storage.slice_mut(offset, len);
3360 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3361 }
3362 pub fn ending_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3363 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3364 let offset = (3) as usize;
3365 let len = (2) as usize;
3366 core::result::Result::Ok((offset, len))
3367 })().unwrap_or((usize::MAX, 0));
3368 let storage = self.storage.slice_mut(offset, len);
3369 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3370 }
3371
3372}
3373
3374impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttReadByTypeReqHeaderMut<S> {
3375 type Writer = AttReadByTypeReqHeaderWriter<S, emboss_runtime::UncheckedState>;
3376 fn into_writer(self) -> Self::Writer {
3377 AttReadByTypeReqHeaderWriter::new(self.storage)
3378 }
3379}
3380
3381pub struct AttReadByTypeReqHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
3382 storage: S,
3383 _marker: core::marker::PhantomData<ST>,
3384}
3385
3386impl<S: emboss_runtime::MutStorage> AttReadByTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3387 pub fn new(storage: S) -> Self {
3388 Self {
3389 storage,
3390 _marker: core::marker::PhantomData,
3391 }
3392 }
3393}
3394
3395impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttReadByTypeReqHeaderWriter<S, ST> {
3396 pub unsafe fn new_in_state(storage: S) -> Self {
3404 Self {
3405 storage,
3406 _marker: core::marker::PhantomData,
3407 }
3408 }
3409 pub fn into_storage(self) -> S {
3410 self.storage
3411 }
3412 pub fn into_view(self) -> AttReadByTypeReqHeader<S, ST> {
3414 unsafe { AttReadByTypeReqHeader::new_in_state(self.storage) }
3415 }
3416 pub fn as_view(&self) -> AttReadByTypeReqHeader<S::Sliced<'_>, ST> {
3418 unsafe { AttReadByTypeReqHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
3419 }
3420 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttReadByTypeReqHeaderWriter<S, ST::OnValidMutation> {
3421 let view = self.into_view();
3422 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3423 let offset = (0) as usize;
3424 let len = (1) as usize;
3425 core::result::Result::Ok((offset, len))
3426 })().expect("valid layout in complete state");
3427 let mut storage = view.into_storage();
3428 {
3429 let slice = storage.slice_mut(offset, len);
3430 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
3431 field_view.try_write(val).expect("valid write in complete state");
3432 }
3433 unsafe { AttReadByTypeReqHeaderWriter::new_in_state(storage) }
3434 }
3435 pub fn write_starting_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadByTypeReqHeaderWriter<S, ST::OnValidMutation> {
3436 let view = self.into_view();
3437 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3438 let offset = (1) as usize;
3439 let len = (2) as usize;
3440 core::result::Result::Ok((offset, len))
3441 })().expect("valid layout in complete state");
3442 let mut storage = view.into_storage();
3443 {
3444 let slice = storage.slice_mut(offset, len);
3445 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
3446 field_view.try_write(val).expect("valid write in complete state");
3447 }
3448 unsafe { AttReadByTypeReqHeaderWriter::new_in_state(storage) }
3449 }
3450 pub fn write_ending_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadByTypeReqHeaderWriter<S, ST::OnValidMutation> {
3451 let view = self.into_view();
3452 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3453 let offset = (3) as usize;
3454 let len = (2) as usize;
3455 core::result::Result::Ok((offset, len))
3456 })().expect("valid layout in complete state");
3457 let mut storage = view.into_storage();
3458 {
3459 let slice = storage.slice_mut(offset, len);
3460 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
3461 field_view.try_write(val).expect("valid write in complete state");
3462 }
3463 unsafe { AttReadByTypeReqHeaderWriter::new_in_state(storage) }
3464 }
3465
3466}
3467
3468impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttReadByTypeReqHeader<S, ST> {
3469 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3470 let view = self;
3471 core::result::Result::Ok((5) as usize)
3472 }
3473}
3474
3475impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttReadByTypeReqHeaderMut<S> {
3476 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3477 let view = self.as_view();
3478 <AttReadByTypeReqHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
3479 }
3480}
3481
3482impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttReadByTypeReqHeaderWriter<S, ST> {
3483 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3484 let view = self.as_view();
3485 <AttReadByTypeReqHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
3486 }
3487}
3488
3489impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttReadByTypeReqHeader<S, emboss_runtime::UncheckedState> {
3490 type Completed = AttReadByTypeReqHeader<S, emboss_runtime::CompleteState>;
3491 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
3492 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
3493 if self.storage.len() < required_size {
3494 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
3495 }
3496 core::result::Result::Ok(unsafe { AttReadByTypeReqHeader::new_in_state(self.storage) })
3497 }
3498}
3499
3500impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttReadByTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3501 type Completed = AttReadByTypeReqHeaderWriter<S, emboss_runtime::CompleteState>;
3502 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
3503 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
3504 if self.storage.len() < required_size {
3505 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
3506 }
3507 core::result::Result::Ok(unsafe { AttReadByTypeReqHeaderWriter::new_in_state(self.storage) })
3508 }
3509}
3510
3511impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByTypeReqHeader<S, emboss_runtime::UncheckedState> {
3512 type Ok = AttReadByTypeReqHeader<S, emboss_runtime::OkState>;
3513 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3514 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
3515 core::result::Result::Ok(unsafe { AttReadByTypeReqHeader::new_in_state(completed.into_storage()) })
3516 }
3517}
3518
3519impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByTypeReqHeader<S, emboss_runtime::CompleteState> {
3520 type Ok = AttReadByTypeReqHeader<S, emboss_runtime::OkState>;
3521 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3522 core::result::Result::Ok(unsafe { AttReadByTypeReqHeader::new_in_state(self.into_storage()) })
3523 }
3524}
3525
3526impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByTypeReqHeader<S, emboss_runtime::OkState> {
3527 type Ok = AttReadByTypeReqHeader<S, emboss_runtime::OkState>;
3528 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3529 core::result::Result::Ok(self)
3530 }
3531}
3532
3533impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3534 type Ok = AttReadByTypeReqHeaderWriter<S, emboss_runtime::OkState>;
3535 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3536 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
3537 core::result::Result::Ok(unsafe { AttReadByTypeReqHeaderWriter::new_in_state(completed.into_storage()) })
3538 }
3539}
3540
3541impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByTypeReqHeaderWriter<S, emboss_runtime::CompleteState> {
3542 type Ok = AttReadByTypeReqHeaderWriter<S, emboss_runtime::OkState>;
3543 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3544 core::result::Result::Ok(unsafe { AttReadByTypeReqHeaderWriter::new_in_state(self.into_storage()) })
3545 }
3546}
3547
3548impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByTypeReqHeaderWriter<S, emboss_runtime::OkState> {
3549 type Ok = AttReadByTypeReqHeaderWriter<S, emboss_runtime::OkState>;
3550 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3551 core::result::Result::Ok(self)
3552 }
3553}
3554
3555pub mod att_read_by_type_req_header {
3556 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttReadByTypeReqHeader<S, ST>;
3557 pub type ViewMut<S> = super::AttReadByTypeReqHeaderMut<S>;
3558 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttReadByTypeReqHeaderWriter<S, ST>;
3559
3560 pub const MIN_SIZE_IN_BYTES: usize = 5;
3561 pub const MAX_SIZE_IN_BYTES: usize = 5;
3562 pub const SIZE_IN_BYTES: usize = 5;
3563}pub struct AttReadByGroupTypeReqHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
3564 storage: S,
3565 _marker: core::marker::PhantomData<ST>,
3566}
3567
3568impl<S: emboss_runtime::Storage> AttReadByGroupTypeReqHeader<S, emboss_runtime::UncheckedState> {
3569 pub fn new(storage: S) -> Self {
3570 Self {
3571 storage,
3572 _marker: core::marker::PhantomData,
3573 }
3574 }
3575}
3576
3577impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttReadByGroupTypeReqHeader<S, ST> {
3578 fn clone(&self) -> Self {
3579 Self {
3580 storage: self.storage.clone(),
3581 _marker: core::marker::PhantomData,
3582 }
3583 }
3584}
3585
3586impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttReadByGroupTypeReqHeader<S, ST> {
3587 pub unsafe fn new_in_state(storage: S) -> Self {
3595 Self {
3596 storage,
3597 _marker: core::marker::PhantomData,
3598 }
3599 }
3600 pub fn into_storage(self) -> S {
3601 self.storage
3602 }
3603 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
3604 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3605 let offset = (0) as usize;
3606 let len = (1) as usize;
3607 core::result::Result::Ok((offset, len))
3608 })().unwrap_or((usize::MAX, 0));
3609 let storage = self.storage.slice(offset, len);
3610 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
3611 }
3612 pub fn starting_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3613 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3614 let offset = (1) as usize;
3615 let len = (2) as usize;
3616 core::result::Result::Ok((offset, len))
3617 })().unwrap_or((usize::MAX, 0));
3618 let storage = self.storage.slice(offset, len);
3619 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3620 }
3621 pub fn ending_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3622 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3623 let offset = (3) as usize;
3624 let len = (2) as usize;
3625 core::result::Result::Ok((offset, len))
3626 })().unwrap_or((usize::MAX, 0));
3627 let storage = self.storage.slice(offset, len);
3628 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3629 }
3630
3631}
3632
3633pub struct AttReadByGroupTypeReqHeaderMut<S: emboss_runtime::MutStorage> {
3634 storage: S,
3635}
3636
3637impl<S: emboss_runtime::MutStorage> AttReadByGroupTypeReqHeaderMut<S> {
3638 pub fn new(storage: S) -> Self {
3639 Self {
3640 storage,
3641 }
3642 }
3643 pub fn into_writer(self) -> AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3644 AttReadByGroupTypeReqHeaderWriter::new(self.storage)
3645 }
3646 pub fn as_view(&self) -> AttReadByGroupTypeReqHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
3648 unsafe { AttReadByGroupTypeReqHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
3649 }
3650 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
3651 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3652 let offset = (0) as usize;
3653 let len = (1) as usize;
3654 core::result::Result::Ok((offset, len))
3655 })().unwrap_or((usize::MAX, 0));
3656 let storage = self.storage.slice_mut(offset, len);
3657 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
3658 }
3659 pub fn starting_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3660 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3661 let offset = (1) as usize;
3662 let len = (2) as usize;
3663 core::result::Result::Ok((offset, len))
3664 })().unwrap_or((usize::MAX, 0));
3665 let storage = self.storage.slice_mut(offset, len);
3666 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3667 }
3668 pub fn ending_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3669 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3670 let offset = (3) as usize;
3671 let len = (2) as usize;
3672 core::result::Result::Ok((offset, len))
3673 })().unwrap_or((usize::MAX, 0));
3674 let storage = self.storage.slice_mut(offset, len);
3675 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3676 }
3677
3678}
3679
3680impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttReadByGroupTypeReqHeaderMut<S> {
3681 type Writer = AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::UncheckedState>;
3682 fn into_writer(self) -> Self::Writer {
3683 AttReadByGroupTypeReqHeaderWriter::new(self.storage)
3684 }
3685}
3686
3687pub struct AttReadByGroupTypeReqHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
3688 storage: S,
3689 _marker: core::marker::PhantomData<ST>,
3690}
3691
3692impl<S: emboss_runtime::MutStorage> AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3693 pub fn new(storage: S) -> Self {
3694 Self {
3695 storage,
3696 _marker: core::marker::PhantomData,
3697 }
3698 }
3699}
3700
3701impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttReadByGroupTypeReqHeaderWriter<S, ST> {
3702 pub unsafe fn new_in_state(storage: S) -> Self {
3710 Self {
3711 storage,
3712 _marker: core::marker::PhantomData,
3713 }
3714 }
3715 pub fn into_storage(self) -> S {
3716 self.storage
3717 }
3718 pub fn into_view(self) -> AttReadByGroupTypeReqHeader<S, ST> {
3720 unsafe { AttReadByGroupTypeReqHeader::new_in_state(self.storage) }
3721 }
3722 pub fn as_view(&self) -> AttReadByGroupTypeReqHeader<S::Sliced<'_>, ST> {
3724 unsafe { AttReadByGroupTypeReqHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
3725 }
3726 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttReadByGroupTypeReqHeaderWriter<S, ST::OnValidMutation> {
3727 let view = self.into_view();
3728 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3729 let offset = (0) as usize;
3730 let len = (1) as usize;
3731 core::result::Result::Ok((offset, len))
3732 })().expect("valid layout in complete state");
3733 let mut storage = view.into_storage();
3734 {
3735 let slice = storage.slice_mut(offset, len);
3736 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
3737 field_view.try_write(val).expect("valid write in complete state");
3738 }
3739 unsafe { AttReadByGroupTypeReqHeaderWriter::new_in_state(storage) }
3740 }
3741 pub fn write_starting_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadByGroupTypeReqHeaderWriter<S, ST::OnValidMutation> {
3742 let view = self.into_view();
3743 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3744 let offset = (1) as usize;
3745 let len = (2) as usize;
3746 core::result::Result::Ok((offset, len))
3747 })().expect("valid layout in complete state");
3748 let mut storage = view.into_storage();
3749 {
3750 let slice = storage.slice_mut(offset, len);
3751 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
3752 field_view.try_write(val).expect("valid write in complete state");
3753 }
3754 unsafe { AttReadByGroupTypeReqHeaderWriter::new_in_state(storage) }
3755 }
3756 pub fn write_ending_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadByGroupTypeReqHeaderWriter<S, ST::OnValidMutation> {
3757 let view = self.into_view();
3758 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3759 let offset = (3) as usize;
3760 let len = (2) as usize;
3761 core::result::Result::Ok((offset, len))
3762 })().expect("valid layout in complete state");
3763 let mut storage = view.into_storage();
3764 {
3765 let slice = storage.slice_mut(offset, len);
3766 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
3767 field_view.try_write(val).expect("valid write in complete state");
3768 }
3769 unsafe { AttReadByGroupTypeReqHeaderWriter::new_in_state(storage) }
3770 }
3771
3772}
3773
3774impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttReadByGroupTypeReqHeader<S, ST> {
3775 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3776 let view = self;
3777 core::result::Result::Ok((5) as usize)
3778 }
3779}
3780
3781impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttReadByGroupTypeReqHeaderMut<S> {
3782 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3783 let view = self.as_view();
3784 <AttReadByGroupTypeReqHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
3785 }
3786}
3787
3788impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttReadByGroupTypeReqHeaderWriter<S, ST> {
3789 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
3790 let view = self.as_view();
3791 <AttReadByGroupTypeReqHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
3792 }
3793}
3794
3795impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttReadByGroupTypeReqHeader<S, emboss_runtime::UncheckedState> {
3796 type Completed = AttReadByGroupTypeReqHeader<S, emboss_runtime::CompleteState>;
3797 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
3798 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
3799 if self.storage.len() < required_size {
3800 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
3801 }
3802 core::result::Result::Ok(unsafe { AttReadByGroupTypeReqHeader::new_in_state(self.storage) })
3803 }
3804}
3805
3806impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3807 type Completed = AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::CompleteState>;
3808 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
3809 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
3810 if self.storage.len() < required_size {
3811 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
3812 }
3813 core::result::Result::Ok(unsafe { AttReadByGroupTypeReqHeaderWriter::new_in_state(self.storage) })
3814 }
3815}
3816
3817impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByGroupTypeReqHeader<S, emboss_runtime::UncheckedState> {
3818 type Ok = AttReadByGroupTypeReqHeader<S, emboss_runtime::OkState>;
3819 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3820 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
3821 core::result::Result::Ok(unsafe { AttReadByGroupTypeReqHeader::new_in_state(completed.into_storage()) })
3822 }
3823}
3824
3825impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByGroupTypeReqHeader<S, emboss_runtime::CompleteState> {
3826 type Ok = AttReadByGroupTypeReqHeader<S, emboss_runtime::OkState>;
3827 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3828 core::result::Result::Ok(unsafe { AttReadByGroupTypeReqHeader::new_in_state(self.into_storage()) })
3829 }
3830}
3831
3832impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByGroupTypeReqHeader<S, emboss_runtime::OkState> {
3833 type Ok = AttReadByGroupTypeReqHeader<S, emboss_runtime::OkState>;
3834 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3835 core::result::Result::Ok(self)
3836 }
3837}
3838
3839impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::UncheckedState> {
3840 type Ok = AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::OkState>;
3841 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3842 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
3843 core::result::Result::Ok(unsafe { AttReadByGroupTypeReqHeaderWriter::new_in_state(completed.into_storage()) })
3844 }
3845}
3846
3847impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::CompleteState> {
3848 type Ok = AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::OkState>;
3849 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3850 core::result::Result::Ok(unsafe { AttReadByGroupTypeReqHeaderWriter::new_in_state(self.into_storage()) })
3851 }
3852}
3853
3854impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::OkState> {
3855 type Ok = AttReadByGroupTypeReqHeaderWriter<S, emboss_runtime::OkState>;
3856 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
3857 core::result::Result::Ok(self)
3858 }
3859}
3860
3861pub mod att_read_by_group_type_req_header {
3862 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttReadByGroupTypeReqHeader<S, ST>;
3863 pub type ViewMut<S> = super::AttReadByGroupTypeReqHeaderMut<S>;
3864 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttReadByGroupTypeReqHeaderWriter<S, ST>;
3865
3866 pub const MIN_SIZE_IN_BYTES: usize = 5;
3867 pub const MAX_SIZE_IN_BYTES: usize = 5;
3868 pub const SIZE_IN_BYTES: usize = 5;
3869}pub struct AttReadByGroupTypeRspEntryHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
3870 storage: S,
3871 _marker: core::marker::PhantomData<ST>,
3872}
3873
3874impl<S: emboss_runtime::Storage> AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::UncheckedState> {
3875 pub fn new(storage: S) -> Self {
3876 Self {
3877 storage,
3878 _marker: core::marker::PhantomData,
3879 }
3880 }
3881}
3882
3883impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttReadByGroupTypeRspEntryHeader<S, ST> {
3884 fn clone(&self) -> Self {
3885 Self {
3886 storage: self.storage.clone(),
3887 _marker: core::marker::PhantomData,
3888 }
3889 }
3890}
3891
3892impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttReadByGroupTypeRspEntryHeader<S, ST> {
3893 pub unsafe fn new_in_state(storage: S) -> Self {
3901 Self {
3902 storage,
3903 _marker: core::marker::PhantomData,
3904 }
3905 }
3906 pub fn into_storage(self) -> S {
3907 self.storage
3908 }
3909 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3910 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3911 let offset = (0) as usize;
3912 let len = (2) as usize;
3913 core::result::Result::Ok((offset, len))
3914 })().unwrap_or((usize::MAX, 0));
3915 let storage = self.storage.slice(offset, len);
3916 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3917 }
3918 pub fn end_group_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
3919 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3920 let offset = (2) as usize;
3921 let len = (2) as usize;
3922 core::result::Result::Ok((offset, len))
3923 })().unwrap_or((usize::MAX, 0));
3924 let storage = self.storage.slice(offset, len);
3925 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
3926 }
3927
3928}
3929
3930pub struct AttReadByGroupTypeRspEntryHeaderMut<S: emboss_runtime::MutStorage> {
3931 storage: S,
3932}
3933
3934impl<S: emboss_runtime::MutStorage> AttReadByGroupTypeRspEntryHeaderMut<S> {
3935 pub fn new(storage: S) -> Self {
3936 Self {
3937 storage,
3938 }
3939 }
3940 pub fn into_writer(self) -> AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::UncheckedState> {
3941 AttReadByGroupTypeRspEntryHeaderWriter::new(self.storage)
3942 }
3943 pub fn as_view(&self) -> AttReadByGroupTypeRspEntryHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
3945 unsafe { AttReadByGroupTypeRspEntryHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
3946 }
3947 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3948 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3949 let offset = (0) as usize;
3950 let len = (2) as usize;
3951 core::result::Result::Ok((offset, len))
3952 })().unwrap_or((usize::MAX, 0));
3953 let storage = self.storage.slice_mut(offset, len);
3954 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3955 }
3956 pub fn end_group_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
3957 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
3958 let offset = (2) as usize;
3959 let len = (2) as usize;
3960 core::result::Result::Ok((offset, len))
3961 })().unwrap_or((usize::MAX, 0));
3962 let storage = self.storage.slice_mut(offset, len);
3963 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
3964 }
3965
3966}
3967
3968impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttReadByGroupTypeRspEntryHeaderMut<S> {
3969 type Writer = AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::UncheckedState>;
3970 fn into_writer(self) -> Self::Writer {
3971 AttReadByGroupTypeRspEntryHeaderWriter::new(self.storage)
3972 }
3973}
3974
3975pub struct AttReadByGroupTypeRspEntryHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
3976 storage: S,
3977 _marker: core::marker::PhantomData<ST>,
3978}
3979
3980impl<S: emboss_runtime::MutStorage> AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::UncheckedState> {
3981 pub fn new(storage: S) -> Self {
3982 Self {
3983 storage,
3984 _marker: core::marker::PhantomData,
3985 }
3986 }
3987}
3988
3989impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttReadByGroupTypeRspEntryHeaderWriter<S, ST> {
3990 pub unsafe fn new_in_state(storage: S) -> Self {
3998 Self {
3999 storage,
4000 _marker: core::marker::PhantomData,
4001 }
4002 }
4003 pub fn into_storage(self) -> S {
4004 self.storage
4005 }
4006 pub fn into_view(self) -> AttReadByGroupTypeRspEntryHeader<S, ST> {
4008 unsafe { AttReadByGroupTypeRspEntryHeader::new_in_state(self.storage) }
4009 }
4010 pub fn as_view(&self) -> AttReadByGroupTypeRspEntryHeader<S::Sliced<'_>, ST> {
4012 unsafe { AttReadByGroupTypeRspEntryHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
4013 }
4014 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadByGroupTypeRspEntryHeaderWriter<S, ST::OnValidMutation> {
4015 let view = self.into_view();
4016 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4017 let offset = (0) as usize;
4018 let len = (2) as usize;
4019 core::result::Result::Ok((offset, len))
4020 })().expect("valid layout in complete state");
4021 let mut storage = view.into_storage();
4022 {
4023 let slice = storage.slice_mut(offset, len);
4024 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
4025 field_view.try_write(val).expect("valid write in complete state");
4026 }
4027 unsafe { AttReadByGroupTypeRspEntryHeaderWriter::new_in_state(storage) }
4028 }
4029 pub fn write_end_group_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadByGroupTypeRspEntryHeaderWriter<S, ST::OnValidMutation> {
4030 let view = self.into_view();
4031 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4032 let offset = (2) as usize;
4033 let len = (2) as usize;
4034 core::result::Result::Ok((offset, len))
4035 })().expect("valid layout in complete state");
4036 let mut storage = view.into_storage();
4037 {
4038 let slice = storage.slice_mut(offset, len);
4039 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
4040 field_view.try_write(val).expect("valid write in complete state");
4041 }
4042 unsafe { AttReadByGroupTypeRspEntryHeaderWriter::new_in_state(storage) }
4043 }
4044
4045}
4046
4047impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttReadByGroupTypeRspEntryHeader<S, ST> {
4048 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4049 let view = self;
4050 core::result::Result::Ok((4) as usize)
4051 }
4052}
4053
4054impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttReadByGroupTypeRspEntryHeaderMut<S> {
4055 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4056 let view = self.as_view();
4057 <AttReadByGroupTypeRspEntryHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
4058 }
4059}
4060
4061impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttReadByGroupTypeRspEntryHeaderWriter<S, ST> {
4062 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4063 let view = self.as_view();
4064 <AttReadByGroupTypeRspEntryHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
4065 }
4066}
4067
4068impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::UncheckedState> {
4069 type Completed = AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::CompleteState>;
4070 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4071 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4072 if self.storage.len() < required_size {
4073 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4074 }
4075 core::result::Result::Ok(unsafe { AttReadByGroupTypeRspEntryHeader::new_in_state(self.storage) })
4076 }
4077}
4078
4079impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::UncheckedState> {
4080 type Completed = AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::CompleteState>;
4081 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4082 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4083 if self.storage.len() < required_size {
4084 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4085 }
4086 core::result::Result::Ok(unsafe { AttReadByGroupTypeRspEntryHeaderWriter::new_in_state(self.storage) })
4087 }
4088}
4089
4090impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::UncheckedState> {
4091 type Ok = AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::OkState>;
4092 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4093 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4094 core::result::Result::Ok(unsafe { AttReadByGroupTypeRspEntryHeader::new_in_state(completed.into_storage()) })
4095 }
4096}
4097
4098impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::CompleteState> {
4099 type Ok = AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::OkState>;
4100 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4101 core::result::Result::Ok(unsafe { AttReadByGroupTypeRspEntryHeader::new_in_state(self.into_storage()) })
4102 }
4103}
4104
4105impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::OkState> {
4106 type Ok = AttReadByGroupTypeRspEntryHeader<S, emboss_runtime::OkState>;
4107 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4108 core::result::Result::Ok(self)
4109 }
4110}
4111
4112impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::UncheckedState> {
4113 type Ok = AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::OkState>;
4114 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4115 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4116 core::result::Result::Ok(unsafe { AttReadByGroupTypeRspEntryHeaderWriter::new_in_state(completed.into_storage()) })
4117 }
4118}
4119
4120impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::CompleteState> {
4121 type Ok = AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::OkState>;
4122 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4123 core::result::Result::Ok(unsafe { AttReadByGroupTypeRspEntryHeaderWriter::new_in_state(self.into_storage()) })
4124 }
4125}
4126
4127impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::OkState> {
4128 type Ok = AttReadByGroupTypeRspEntryHeaderWriter<S, emboss_runtime::OkState>;
4129 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4130 core::result::Result::Ok(self)
4131 }
4132}
4133
4134pub mod att_read_by_group_type_rsp_entry_header {
4135 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttReadByGroupTypeRspEntryHeader<S, ST>;
4136 pub type ViewMut<S> = super::AttReadByGroupTypeRspEntryHeaderMut<S>;
4137 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttReadByGroupTypeRspEntryHeaderWriter<S, ST>;
4138
4139 pub const MIN_SIZE_IN_BYTES: usize = 4;
4140 pub const MAX_SIZE_IN_BYTES: usize = 4;
4141 pub const SIZE_IN_BYTES: usize = 4;
4142}pub struct AttReadReq<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
4143 storage: S,
4144 _marker: core::marker::PhantomData<ST>,
4145}
4146
4147impl<S: emboss_runtime::Storage> AttReadReq<S, emboss_runtime::UncheckedState> {
4148 pub fn new(storage: S) -> Self {
4149 Self {
4150 storage,
4151 _marker: core::marker::PhantomData,
4152 }
4153 }
4154}
4155
4156impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttReadReq<S, ST> {
4157 fn clone(&self) -> Self {
4158 Self {
4159 storage: self.storage.clone(),
4160 _marker: core::marker::PhantomData,
4161 }
4162 }
4163}
4164
4165impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttReadReq<S, ST> {
4166 pub unsafe fn new_in_state(storage: S) -> Self {
4174 Self {
4175 storage,
4176 _marker: core::marker::PhantomData,
4177 }
4178 }
4179 pub fn into_storage(self) -> S {
4180 self.storage
4181 }
4182 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
4183 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4184 let offset = (0) as usize;
4185 let len = (1) as usize;
4186 core::result::Result::Ok((offset, len))
4187 })().unwrap_or((usize::MAX, 0));
4188 let storage = self.storage.slice(offset, len);
4189 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
4190 }
4191 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
4192 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4193 let offset = (1) as usize;
4194 let len = (2) as usize;
4195 core::result::Result::Ok((offset, len))
4196 })().unwrap_or((usize::MAX, 0));
4197 let storage = self.storage.slice(offset, len);
4198 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
4199 }
4200
4201}
4202
4203pub struct AttReadReqMut<S: emboss_runtime::MutStorage> {
4204 storage: S,
4205}
4206
4207impl<S: emboss_runtime::MutStorage> AttReadReqMut<S> {
4208 pub fn new(storage: S) -> Self {
4209 Self {
4210 storage,
4211 }
4212 }
4213 pub fn into_writer(self) -> AttReadReqWriter<S, emboss_runtime::UncheckedState> {
4214 AttReadReqWriter::new(self.storage)
4215 }
4216 pub fn as_view(&self) -> AttReadReq<S::Sliced<'_>, emboss_runtime::UncheckedState> {
4218 unsafe { AttReadReq::new_in_state(self.storage.slice(0, self.storage.len())) }
4219 }
4220 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
4221 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4222 let offset = (0) as usize;
4223 let len = (1) as usize;
4224 core::result::Result::Ok((offset, len))
4225 })().unwrap_or((usize::MAX, 0));
4226 let storage = self.storage.slice_mut(offset, len);
4227 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
4228 }
4229 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
4230 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4231 let offset = (1) as usize;
4232 let len = (2) as usize;
4233 core::result::Result::Ok((offset, len))
4234 })().unwrap_or((usize::MAX, 0));
4235 let storage = self.storage.slice_mut(offset, len);
4236 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
4237 }
4238
4239}
4240
4241impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttReadReqMut<S> {
4242 type Writer = AttReadReqWriter<S, emboss_runtime::UncheckedState>;
4243 fn into_writer(self) -> Self::Writer {
4244 AttReadReqWriter::new(self.storage)
4245 }
4246}
4247
4248pub struct AttReadReqWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
4249 storage: S,
4250 _marker: core::marker::PhantomData<ST>,
4251}
4252
4253impl<S: emboss_runtime::MutStorage> AttReadReqWriter<S, emboss_runtime::UncheckedState> {
4254 pub fn new(storage: S) -> Self {
4255 Self {
4256 storage,
4257 _marker: core::marker::PhantomData,
4258 }
4259 }
4260}
4261
4262impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttReadReqWriter<S, ST> {
4263 pub unsafe fn new_in_state(storage: S) -> Self {
4271 Self {
4272 storage,
4273 _marker: core::marker::PhantomData,
4274 }
4275 }
4276 pub fn into_storage(self) -> S {
4277 self.storage
4278 }
4279 pub fn into_view(self) -> AttReadReq<S, ST> {
4281 unsafe { AttReadReq::new_in_state(self.storage) }
4282 }
4283 pub fn as_view(&self) -> AttReadReq<S::Sliced<'_>, ST> {
4285 unsafe { AttReadReq::new_in_state(self.storage.slice(0, self.storage.len())) }
4286 }
4287 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttReadReqWriter<S, ST::OnValidMutation> {
4288 let view = self.into_view();
4289 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4290 let offset = (0) as usize;
4291 let len = (1) as usize;
4292 core::result::Result::Ok((offset, len))
4293 })().expect("valid layout in complete state");
4294 let mut storage = view.into_storage();
4295 {
4296 let slice = storage.slice_mut(offset, len);
4297 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
4298 field_view.try_write(val).expect("valid write in complete state");
4299 }
4300 unsafe { AttReadReqWriter::new_in_state(storage) }
4301 }
4302 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadReqWriter<S, ST::OnValidMutation> {
4303 let view = self.into_view();
4304 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4305 let offset = (1) as usize;
4306 let len = (2) as usize;
4307 core::result::Result::Ok((offset, len))
4308 })().expect("valid layout in complete state");
4309 let mut storage = view.into_storage();
4310 {
4311 let slice = storage.slice_mut(offset, len);
4312 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
4313 field_view.try_write(val).expect("valid write in complete state");
4314 }
4315 unsafe { AttReadReqWriter::new_in_state(storage) }
4316 }
4317
4318}
4319
4320impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttReadReq<S, ST> {
4321 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4322 let view = self;
4323 core::result::Result::Ok((3) as usize)
4324 }
4325}
4326
4327impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttReadReqMut<S> {
4328 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4329 let view = self.as_view();
4330 <AttReadReq<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
4331 }
4332}
4333
4334impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttReadReqWriter<S, ST> {
4335 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4336 let view = self.as_view();
4337 <AttReadReq<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
4338 }
4339}
4340
4341impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttReadReq<S, emboss_runtime::UncheckedState> {
4342 type Completed = AttReadReq<S, emboss_runtime::CompleteState>;
4343 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4344 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4345 if self.storage.len() < required_size {
4346 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4347 }
4348 core::result::Result::Ok(unsafe { AttReadReq::new_in_state(self.storage) })
4349 }
4350}
4351
4352impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttReadReqWriter<S, emboss_runtime::UncheckedState> {
4353 type Completed = AttReadReqWriter<S, emboss_runtime::CompleteState>;
4354 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4355 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4356 if self.storage.len() < required_size {
4357 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4358 }
4359 core::result::Result::Ok(unsafe { AttReadReqWriter::new_in_state(self.storage) })
4360 }
4361}
4362
4363impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadReq<S, emboss_runtime::UncheckedState> {
4364 type Ok = AttReadReq<S, emboss_runtime::OkState>;
4365 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4366 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4367 core::result::Result::Ok(unsafe { AttReadReq::new_in_state(completed.into_storage()) })
4368 }
4369}
4370
4371impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadReq<S, emboss_runtime::CompleteState> {
4372 type Ok = AttReadReq<S, emboss_runtime::OkState>;
4373 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4374 core::result::Result::Ok(unsafe { AttReadReq::new_in_state(self.into_storage()) })
4375 }
4376}
4377
4378impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadReq<S, emboss_runtime::OkState> {
4379 type Ok = AttReadReq<S, emboss_runtime::OkState>;
4380 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4381 core::result::Result::Ok(self)
4382 }
4383}
4384
4385impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadReqWriter<S, emboss_runtime::UncheckedState> {
4386 type Ok = AttReadReqWriter<S, emboss_runtime::OkState>;
4387 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4388 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4389 core::result::Result::Ok(unsafe { AttReadReqWriter::new_in_state(completed.into_storage()) })
4390 }
4391}
4392
4393impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadReqWriter<S, emboss_runtime::CompleteState> {
4394 type Ok = AttReadReqWriter<S, emboss_runtime::OkState>;
4395 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4396 core::result::Result::Ok(unsafe { AttReadReqWriter::new_in_state(self.into_storage()) })
4397 }
4398}
4399
4400impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadReqWriter<S, emboss_runtime::OkState> {
4401 type Ok = AttReadReqWriter<S, emboss_runtime::OkState>;
4402 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4403 core::result::Result::Ok(self)
4404 }
4405}
4406
4407pub mod att_read_req {
4408 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttReadReq<S, ST>;
4409 pub type ViewMut<S> = super::AttReadReqMut<S>;
4410 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttReadReqWriter<S, ST>;
4411
4412 pub const MIN_SIZE_IN_BYTES: usize = 3;
4413 pub const MAX_SIZE_IN_BYTES: usize = 3;
4414 pub const SIZE_IN_BYTES: usize = 3;
4415}pub struct AttReadBlobReq<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
4416 storage: S,
4417 _marker: core::marker::PhantomData<ST>,
4418}
4419
4420impl<S: emboss_runtime::Storage> AttReadBlobReq<S, emboss_runtime::UncheckedState> {
4421 pub fn new(storage: S) -> Self {
4422 Self {
4423 storage,
4424 _marker: core::marker::PhantomData,
4425 }
4426 }
4427}
4428
4429impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttReadBlobReq<S, ST> {
4430 fn clone(&self) -> Self {
4431 Self {
4432 storage: self.storage.clone(),
4433 _marker: core::marker::PhantomData,
4434 }
4435 }
4436}
4437
4438impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttReadBlobReq<S, ST> {
4439 pub unsafe fn new_in_state(storage: S) -> Self {
4447 Self {
4448 storage,
4449 _marker: core::marker::PhantomData,
4450 }
4451 }
4452 pub fn into_storage(self) -> S {
4453 self.storage
4454 }
4455 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
4456 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4457 let offset = (0) as usize;
4458 let len = (1) as usize;
4459 core::result::Result::Ok((offset, len))
4460 })().unwrap_or((usize::MAX, 0));
4461 let storage = self.storage.slice(offset, len);
4462 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
4463 }
4464 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
4465 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4466 let offset = (1) as usize;
4467 let len = (2) as usize;
4468 core::result::Result::Ok((offset, len))
4469 })().unwrap_or((usize::MAX, 0));
4470 let storage = self.storage.slice(offset, len);
4471 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
4472 }
4473 pub fn value_offset(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
4474 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4475 let offset = (3) as usize;
4476 let len = (2) as usize;
4477 core::result::Result::Ok((offset, len))
4478 })().unwrap_or((usize::MAX, 0));
4479 let storage = self.storage.slice(offset, len);
4480 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
4481 }
4482
4483}
4484
4485pub struct AttReadBlobReqMut<S: emboss_runtime::MutStorage> {
4486 storage: S,
4487}
4488
4489impl<S: emboss_runtime::MutStorage> AttReadBlobReqMut<S> {
4490 pub fn new(storage: S) -> Self {
4491 Self {
4492 storage,
4493 }
4494 }
4495 pub fn into_writer(self) -> AttReadBlobReqWriter<S, emboss_runtime::UncheckedState> {
4496 AttReadBlobReqWriter::new(self.storage)
4497 }
4498 pub fn as_view(&self) -> AttReadBlobReq<S::Sliced<'_>, emboss_runtime::UncheckedState> {
4500 unsafe { AttReadBlobReq::new_in_state(self.storage.slice(0, self.storage.len())) }
4501 }
4502 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
4503 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4504 let offset = (0) as usize;
4505 let len = (1) as usize;
4506 core::result::Result::Ok((offset, len))
4507 })().unwrap_or((usize::MAX, 0));
4508 let storage = self.storage.slice_mut(offset, len);
4509 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
4510 }
4511 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
4512 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4513 let offset = (1) as usize;
4514 let len = (2) as usize;
4515 core::result::Result::Ok((offset, len))
4516 })().unwrap_or((usize::MAX, 0));
4517 let storage = self.storage.slice_mut(offset, len);
4518 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
4519 }
4520 pub fn value_offset(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
4521 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4522 let offset = (3) as usize;
4523 let len = (2) as usize;
4524 core::result::Result::Ok((offset, len))
4525 })().unwrap_or((usize::MAX, 0));
4526 let storage = self.storage.slice_mut(offset, len);
4527 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
4528 }
4529
4530}
4531
4532impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttReadBlobReqMut<S> {
4533 type Writer = AttReadBlobReqWriter<S, emboss_runtime::UncheckedState>;
4534 fn into_writer(self) -> Self::Writer {
4535 AttReadBlobReqWriter::new(self.storage)
4536 }
4537}
4538
4539pub struct AttReadBlobReqWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
4540 storage: S,
4541 _marker: core::marker::PhantomData<ST>,
4542}
4543
4544impl<S: emboss_runtime::MutStorage> AttReadBlobReqWriter<S, emboss_runtime::UncheckedState> {
4545 pub fn new(storage: S) -> Self {
4546 Self {
4547 storage,
4548 _marker: core::marker::PhantomData,
4549 }
4550 }
4551}
4552
4553impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttReadBlobReqWriter<S, ST> {
4554 pub unsafe fn new_in_state(storage: S) -> Self {
4562 Self {
4563 storage,
4564 _marker: core::marker::PhantomData,
4565 }
4566 }
4567 pub fn into_storage(self) -> S {
4568 self.storage
4569 }
4570 pub fn into_view(self) -> AttReadBlobReq<S, ST> {
4572 unsafe { AttReadBlobReq::new_in_state(self.storage) }
4573 }
4574 pub fn as_view(&self) -> AttReadBlobReq<S::Sliced<'_>, ST> {
4576 unsafe { AttReadBlobReq::new_in_state(self.storage.slice(0, self.storage.len())) }
4577 }
4578 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttReadBlobReqWriter<S, ST::OnValidMutation> {
4579 let view = self.into_view();
4580 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4581 let offset = (0) as usize;
4582 let len = (1) as usize;
4583 core::result::Result::Ok((offset, len))
4584 })().expect("valid layout in complete state");
4585 let mut storage = view.into_storage();
4586 {
4587 let slice = storage.slice_mut(offset, len);
4588 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
4589 field_view.try_write(val).expect("valid write in complete state");
4590 }
4591 unsafe { AttReadBlobReqWriter::new_in_state(storage) }
4592 }
4593 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadBlobReqWriter<S, ST::OnValidMutation> {
4594 let view = self.into_view();
4595 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4596 let offset = (1) as usize;
4597 let len = (2) as usize;
4598 core::result::Result::Ok((offset, len))
4599 })().expect("valid layout in complete state");
4600 let mut storage = view.into_storage();
4601 {
4602 let slice = storage.slice_mut(offset, len);
4603 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
4604 field_view.try_write(val).expect("valid write in complete state");
4605 }
4606 unsafe { AttReadBlobReqWriter::new_in_state(storage) }
4607 }
4608 pub fn write_value_offset(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttReadBlobReqWriter<S, ST::OnValidMutation> {
4609 let view = self.into_view();
4610 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4611 let offset = (3) as usize;
4612 let len = (2) as usize;
4613 core::result::Result::Ok((offset, len))
4614 })().expect("valid layout in complete state");
4615 let mut storage = view.into_storage();
4616 {
4617 let slice = storage.slice_mut(offset, len);
4618 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
4619 field_view.try_write(val).expect("valid write in complete state");
4620 }
4621 unsafe { AttReadBlobReqWriter::new_in_state(storage) }
4622 }
4623
4624}
4625
4626impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttReadBlobReq<S, ST> {
4627 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4628 let view = self;
4629 core::result::Result::Ok((5) as usize)
4630 }
4631}
4632
4633impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttReadBlobReqMut<S> {
4634 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4635 let view = self.as_view();
4636 <AttReadBlobReq<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
4637 }
4638}
4639
4640impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttReadBlobReqWriter<S, ST> {
4641 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4642 let view = self.as_view();
4643 <AttReadBlobReq<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
4644 }
4645}
4646
4647impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttReadBlobReq<S, emboss_runtime::UncheckedState> {
4648 type Completed = AttReadBlobReq<S, emboss_runtime::CompleteState>;
4649 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4650 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4651 if self.storage.len() < required_size {
4652 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4653 }
4654 core::result::Result::Ok(unsafe { AttReadBlobReq::new_in_state(self.storage) })
4655 }
4656}
4657
4658impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttReadBlobReqWriter<S, emboss_runtime::UncheckedState> {
4659 type Completed = AttReadBlobReqWriter<S, emboss_runtime::CompleteState>;
4660 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4661 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4662 if self.storage.len() < required_size {
4663 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4664 }
4665 core::result::Result::Ok(unsafe { AttReadBlobReqWriter::new_in_state(self.storage) })
4666 }
4667}
4668
4669impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadBlobReq<S, emboss_runtime::UncheckedState> {
4670 type Ok = AttReadBlobReq<S, emboss_runtime::OkState>;
4671 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4672 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4673 core::result::Result::Ok(unsafe { AttReadBlobReq::new_in_state(completed.into_storage()) })
4674 }
4675}
4676
4677impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadBlobReq<S, emboss_runtime::CompleteState> {
4678 type Ok = AttReadBlobReq<S, emboss_runtime::OkState>;
4679 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4680 core::result::Result::Ok(unsafe { AttReadBlobReq::new_in_state(self.into_storage()) })
4681 }
4682}
4683
4684impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttReadBlobReq<S, emboss_runtime::OkState> {
4685 type Ok = AttReadBlobReq<S, emboss_runtime::OkState>;
4686 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4687 core::result::Result::Ok(self)
4688 }
4689}
4690
4691impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadBlobReqWriter<S, emboss_runtime::UncheckedState> {
4692 type Ok = AttReadBlobReqWriter<S, emboss_runtime::OkState>;
4693 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4694 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4695 core::result::Result::Ok(unsafe { AttReadBlobReqWriter::new_in_state(completed.into_storage()) })
4696 }
4697}
4698
4699impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadBlobReqWriter<S, emboss_runtime::CompleteState> {
4700 type Ok = AttReadBlobReqWriter<S, emboss_runtime::OkState>;
4701 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4702 core::result::Result::Ok(unsafe { AttReadBlobReqWriter::new_in_state(self.into_storage()) })
4703 }
4704}
4705
4706impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttReadBlobReqWriter<S, emboss_runtime::OkState> {
4707 type Ok = AttReadBlobReqWriter<S, emboss_runtime::OkState>;
4708 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4709 core::result::Result::Ok(self)
4710 }
4711}
4712
4713pub mod att_read_blob_req {
4714 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttReadBlobReq<S, ST>;
4715 pub type ViewMut<S> = super::AttReadBlobReqMut<S>;
4716 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttReadBlobReqWriter<S, ST>;
4717
4718 pub const MIN_SIZE_IN_BYTES: usize = 5;
4719 pub const MAX_SIZE_IN_BYTES: usize = 5;
4720 pub const SIZE_IN_BYTES: usize = 5;
4721}pub struct AttWriteCmd<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
4722 storage: S,
4723 _marker: core::marker::PhantomData<ST>,
4724}
4725
4726impl<S: emboss_runtime::Storage> AttWriteCmd<S, emboss_runtime::UncheckedState> {
4727 pub fn new(storage: S) -> Self {
4728 Self {
4729 storage,
4730 _marker: core::marker::PhantomData,
4731 }
4732 }
4733}
4734
4735impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttWriteCmd<S, ST> {
4736 fn clone(&self) -> Self {
4737 Self {
4738 storage: self.storage.clone(),
4739 _marker: core::marker::PhantomData,
4740 }
4741 }
4742}
4743
4744impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttWriteCmd<S, ST> {
4745 pub unsafe fn new_in_state(storage: S) -> Self {
4753 Self {
4754 storage,
4755 _marker: core::marker::PhantomData,
4756 }
4757 }
4758 pub fn into_storage(self) -> S {
4759 self.storage
4760 }
4761 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
4762 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4763 let offset = (0) as usize;
4764 let len = (1) as usize;
4765 core::result::Result::Ok((offset, len))
4766 })().unwrap_or((usize::MAX, 0));
4767 let storage = self.storage.slice(offset, len);
4768 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
4769 }
4770 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
4771 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4772 let offset = (1) as usize;
4773 let len = (2) as usize;
4774 core::result::Result::Ok((offset, len))
4775 })().unwrap_or((usize::MAX, 0));
4776 let storage = self.storage.slice(offset, len);
4777 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
4778 }
4779
4780}
4781
4782pub struct AttWriteCmdMut<S: emboss_runtime::MutStorage> {
4783 storage: S,
4784}
4785
4786impl<S: emboss_runtime::MutStorage> AttWriteCmdMut<S> {
4787 pub fn new(storage: S) -> Self {
4788 Self {
4789 storage,
4790 }
4791 }
4792 pub fn into_writer(self) -> AttWriteCmdWriter<S, emboss_runtime::UncheckedState> {
4793 AttWriteCmdWriter::new(self.storage)
4794 }
4795 pub fn as_view(&self) -> AttWriteCmd<S::Sliced<'_>, emboss_runtime::UncheckedState> {
4797 unsafe { AttWriteCmd::new_in_state(self.storage.slice(0, self.storage.len())) }
4798 }
4799 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
4800 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4801 let offset = (0) as usize;
4802 let len = (1) as usize;
4803 core::result::Result::Ok((offset, len))
4804 })().unwrap_or((usize::MAX, 0));
4805 let storage = self.storage.slice_mut(offset, len);
4806 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
4807 }
4808 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
4809 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4810 let offset = (1) as usize;
4811 let len = (2) as usize;
4812 core::result::Result::Ok((offset, len))
4813 })().unwrap_or((usize::MAX, 0));
4814 let storage = self.storage.slice_mut(offset, len);
4815 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
4816 }
4817
4818}
4819
4820impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttWriteCmdMut<S> {
4821 type Writer = AttWriteCmdWriter<S, emboss_runtime::UncheckedState>;
4822 fn into_writer(self) -> Self::Writer {
4823 AttWriteCmdWriter::new(self.storage)
4824 }
4825}
4826
4827pub struct AttWriteCmdWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
4828 storage: S,
4829 _marker: core::marker::PhantomData<ST>,
4830}
4831
4832impl<S: emboss_runtime::MutStorage> AttWriteCmdWriter<S, emboss_runtime::UncheckedState> {
4833 pub fn new(storage: S) -> Self {
4834 Self {
4835 storage,
4836 _marker: core::marker::PhantomData,
4837 }
4838 }
4839}
4840
4841impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttWriteCmdWriter<S, ST> {
4842 pub unsafe fn new_in_state(storage: S) -> Self {
4850 Self {
4851 storage,
4852 _marker: core::marker::PhantomData,
4853 }
4854 }
4855 pub fn into_storage(self) -> S {
4856 self.storage
4857 }
4858 pub fn into_view(self) -> AttWriteCmd<S, ST> {
4860 unsafe { AttWriteCmd::new_in_state(self.storage) }
4861 }
4862 pub fn as_view(&self) -> AttWriteCmd<S::Sliced<'_>, ST> {
4864 unsafe { AttWriteCmd::new_in_state(self.storage.slice(0, self.storage.len())) }
4865 }
4866 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttWriteCmdWriter<S, ST::OnValidMutation> {
4867 let view = self.into_view();
4868 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4869 let offset = (0) as usize;
4870 let len = (1) as usize;
4871 core::result::Result::Ok((offset, len))
4872 })().expect("valid layout in complete state");
4873 let mut storage = view.into_storage();
4874 {
4875 let slice = storage.slice_mut(offset, len);
4876 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
4877 field_view.try_write(val).expect("valid write in complete state");
4878 }
4879 unsafe { AttWriteCmdWriter::new_in_state(storage) }
4880 }
4881 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttWriteCmdWriter<S, ST::OnValidMutation> {
4882 let view = self.into_view();
4883 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
4884 let offset = (1) as usize;
4885 let len = (2) as usize;
4886 core::result::Result::Ok((offset, len))
4887 })().expect("valid layout in complete state");
4888 let mut storage = view.into_storage();
4889 {
4890 let slice = storage.slice_mut(offset, len);
4891 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
4892 field_view.try_write(val).expect("valid write in complete state");
4893 }
4894 unsafe { AttWriteCmdWriter::new_in_state(storage) }
4895 }
4896
4897}
4898
4899impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttWriteCmd<S, ST> {
4900 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4901 let view = self;
4902 core::result::Result::Ok((0) as usize)
4903 }
4904}
4905
4906impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttWriteCmdMut<S> {
4907 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4908 let view = self.as_view();
4909 <AttWriteCmd<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
4910 }
4911}
4912
4913impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttWriteCmdWriter<S, ST> {
4914 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
4915 let view = self.as_view();
4916 <AttWriteCmd<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
4917 }
4918}
4919
4920impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttWriteCmd<S, emboss_runtime::UncheckedState> {
4921 type Completed = AttWriteCmd<S, emboss_runtime::CompleteState>;
4922 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4923 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4924 if self.storage.len() < required_size {
4925 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4926 }
4927 core::result::Result::Ok(unsafe { AttWriteCmd::new_in_state(self.storage) })
4928 }
4929}
4930
4931impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttWriteCmdWriter<S, emboss_runtime::UncheckedState> {
4932 type Completed = AttWriteCmdWriter<S, emboss_runtime::CompleteState>;
4933 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
4934 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
4935 if self.storage.len() < required_size {
4936 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
4937 }
4938 core::result::Result::Ok(unsafe { AttWriteCmdWriter::new_in_state(self.storage) })
4939 }
4940}
4941
4942impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttWriteCmd<S, emboss_runtime::UncheckedState> {
4943 type Ok = AttWriteCmd<S, emboss_runtime::OkState>;
4944 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4945 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4946 core::result::Result::Ok(unsafe { AttWriteCmd::new_in_state(completed.into_storage()) })
4947 }
4948}
4949
4950impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttWriteCmd<S, emboss_runtime::CompleteState> {
4951 type Ok = AttWriteCmd<S, emboss_runtime::OkState>;
4952 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4953 core::result::Result::Ok(unsafe { AttWriteCmd::new_in_state(self.into_storage()) })
4954 }
4955}
4956
4957impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttWriteCmd<S, emboss_runtime::OkState> {
4958 type Ok = AttWriteCmd<S, emboss_runtime::OkState>;
4959 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4960 core::result::Result::Ok(self)
4961 }
4962}
4963
4964impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttWriteCmdWriter<S, emboss_runtime::UncheckedState> {
4965 type Ok = AttWriteCmdWriter<S, emboss_runtime::OkState>;
4966 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4967 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
4968 core::result::Result::Ok(unsafe { AttWriteCmdWriter::new_in_state(completed.into_storage()) })
4969 }
4970}
4971
4972impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttWriteCmdWriter<S, emboss_runtime::CompleteState> {
4973 type Ok = AttWriteCmdWriter<S, emboss_runtime::OkState>;
4974 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4975 core::result::Result::Ok(unsafe { AttWriteCmdWriter::new_in_state(self.into_storage()) })
4976 }
4977}
4978
4979impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttWriteCmdWriter<S, emboss_runtime::OkState> {
4980 type Ok = AttWriteCmdWriter<S, emboss_runtime::OkState>;
4981 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
4982 core::result::Result::Ok(self)
4983 }
4984}
4985
4986pub mod att_write_cmd {
4987 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttWriteCmd<S, ST>;
4988 pub type ViewMut<S> = super::AttWriteCmdMut<S>;
4989 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttWriteCmdWriter<S, ST>;
4990
4991 pub const MIN_SIZE_IN_BYTES: usize = 3;
4992 pub const MAX_SIZE_IN_BYTES: usize = 65538;
4993}pub struct AttPrepareWriteHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
4994 storage: S,
4995 _marker: core::marker::PhantomData<ST>,
4996}
4997
4998impl<S: emboss_runtime::Storage> AttPrepareWriteHeader<S, emboss_runtime::UncheckedState> {
4999 pub fn new(storage: S) -> Self {
5000 Self {
5001 storage,
5002 _marker: core::marker::PhantomData,
5003 }
5004 }
5005}
5006
5007impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttPrepareWriteHeader<S, ST> {
5008 fn clone(&self) -> Self {
5009 Self {
5010 storage: self.storage.clone(),
5011 _marker: core::marker::PhantomData,
5012 }
5013 }
5014}
5015
5016impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttPrepareWriteHeader<S, ST> {
5017 pub unsafe fn new_in_state(storage: S) -> Self {
5025 Self {
5026 storage,
5027 _marker: core::marker::PhantomData,
5028 }
5029 }
5030 pub fn into_storage(self) -> S {
5031 self.storage
5032 }
5033 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
5034 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5035 let offset = (0) as usize;
5036 let len = (1) as usize;
5037 core::result::Result::Ok((offset, len))
5038 })().unwrap_or((usize::MAX, 0));
5039 let storage = self.storage.slice(offset, len);
5040 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
5041 }
5042 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
5043 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5044 let offset = (1) as usize;
5045 let len = (2) as usize;
5046 core::result::Result::Ok((offset, len))
5047 })().unwrap_or((usize::MAX, 0));
5048 let storage = self.storage.slice(offset, len);
5049 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
5050 }
5051 pub fn value_offset(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
5052 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5053 let offset = (3) as usize;
5054 let len = (2) as usize;
5055 core::result::Result::Ok((offset, len))
5056 })().unwrap_or((usize::MAX, 0));
5057 let storage = self.storage.slice(offset, len);
5058 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
5059 }
5060
5061}
5062
5063pub struct AttPrepareWriteHeaderMut<S: emboss_runtime::MutStorage> {
5064 storage: S,
5065}
5066
5067impl<S: emboss_runtime::MutStorage> AttPrepareWriteHeaderMut<S> {
5068 pub fn new(storage: S) -> Self {
5069 Self {
5070 storage,
5071 }
5072 }
5073 pub fn into_writer(self) -> AttPrepareWriteHeaderWriter<S, emboss_runtime::UncheckedState> {
5074 AttPrepareWriteHeaderWriter::new(self.storage)
5075 }
5076 pub fn as_view(&self) -> AttPrepareWriteHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
5078 unsafe { AttPrepareWriteHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
5079 }
5080 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
5081 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5082 let offset = (0) as usize;
5083 let len = (1) as usize;
5084 core::result::Result::Ok((offset, len))
5085 })().unwrap_or((usize::MAX, 0));
5086 let storage = self.storage.slice_mut(offset, len);
5087 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
5088 }
5089 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
5090 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5091 let offset = (1) as usize;
5092 let len = (2) as usize;
5093 core::result::Result::Ok((offset, len))
5094 })().unwrap_or((usize::MAX, 0));
5095 let storage = self.storage.slice_mut(offset, len);
5096 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
5097 }
5098 pub fn value_offset(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
5099 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5100 let offset = (3) as usize;
5101 let len = (2) as usize;
5102 core::result::Result::Ok((offset, len))
5103 })().unwrap_or((usize::MAX, 0));
5104 let storage = self.storage.slice_mut(offset, len);
5105 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
5106 }
5107
5108}
5109
5110impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttPrepareWriteHeaderMut<S> {
5111 type Writer = AttPrepareWriteHeaderWriter<S, emboss_runtime::UncheckedState>;
5112 fn into_writer(self) -> Self::Writer {
5113 AttPrepareWriteHeaderWriter::new(self.storage)
5114 }
5115}
5116
5117pub struct AttPrepareWriteHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
5118 storage: S,
5119 _marker: core::marker::PhantomData<ST>,
5120}
5121
5122impl<S: emboss_runtime::MutStorage> AttPrepareWriteHeaderWriter<S, emboss_runtime::UncheckedState> {
5123 pub fn new(storage: S) -> Self {
5124 Self {
5125 storage,
5126 _marker: core::marker::PhantomData,
5127 }
5128 }
5129}
5130
5131impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttPrepareWriteHeaderWriter<S, ST> {
5132 pub unsafe fn new_in_state(storage: S) -> Self {
5140 Self {
5141 storage,
5142 _marker: core::marker::PhantomData,
5143 }
5144 }
5145 pub fn into_storage(self) -> S {
5146 self.storage
5147 }
5148 pub fn into_view(self) -> AttPrepareWriteHeader<S, ST> {
5150 unsafe { AttPrepareWriteHeader::new_in_state(self.storage) }
5151 }
5152 pub fn as_view(&self) -> AttPrepareWriteHeader<S::Sliced<'_>, ST> {
5154 unsafe { AttPrepareWriteHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
5155 }
5156 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttPrepareWriteHeaderWriter<S, ST::OnValidMutation> {
5157 let view = self.into_view();
5158 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5159 let offset = (0) as usize;
5160 let len = (1) as usize;
5161 core::result::Result::Ok((offset, len))
5162 })().expect("valid layout in complete state");
5163 let mut storage = view.into_storage();
5164 {
5165 let slice = storage.slice_mut(offset, len);
5166 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
5167 field_view.try_write(val).expect("valid write in complete state");
5168 }
5169 unsafe { AttPrepareWriteHeaderWriter::new_in_state(storage) }
5170 }
5171 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttPrepareWriteHeaderWriter<S, ST::OnValidMutation> {
5172 let view = self.into_view();
5173 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5174 let offset = (1) as usize;
5175 let len = (2) as usize;
5176 core::result::Result::Ok((offset, len))
5177 })().expect("valid layout in complete state");
5178 let mut storage = view.into_storage();
5179 {
5180 let slice = storage.slice_mut(offset, len);
5181 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
5182 field_view.try_write(val).expect("valid write in complete state");
5183 }
5184 unsafe { AttPrepareWriteHeaderWriter::new_in_state(storage) }
5185 }
5186 pub fn write_value_offset(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttPrepareWriteHeaderWriter<S, ST::OnValidMutation> {
5187 let view = self.into_view();
5188 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5189 let offset = (3) as usize;
5190 let len = (2) as usize;
5191 core::result::Result::Ok((offset, len))
5192 })().expect("valid layout in complete state");
5193 let mut storage = view.into_storage();
5194 {
5195 let slice = storage.slice_mut(offset, len);
5196 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
5197 field_view.try_write(val).expect("valid write in complete state");
5198 }
5199 unsafe { AttPrepareWriteHeaderWriter::new_in_state(storage) }
5200 }
5201
5202}
5203
5204impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttPrepareWriteHeader<S, ST> {
5205 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5206 let view = self;
5207 core::result::Result::Ok((5) as usize)
5208 }
5209}
5210
5211impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttPrepareWriteHeaderMut<S> {
5212 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5213 let view = self.as_view();
5214 <AttPrepareWriteHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
5215 }
5216}
5217
5218impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttPrepareWriteHeaderWriter<S, ST> {
5219 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5220 let view = self.as_view();
5221 <AttPrepareWriteHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
5222 }
5223}
5224
5225impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttPrepareWriteHeader<S, emboss_runtime::UncheckedState> {
5226 type Completed = AttPrepareWriteHeader<S, emboss_runtime::CompleteState>;
5227 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
5228 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
5229 if self.storage.len() < required_size {
5230 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
5231 }
5232 core::result::Result::Ok(unsafe { AttPrepareWriteHeader::new_in_state(self.storage) })
5233 }
5234}
5235
5236impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttPrepareWriteHeaderWriter<S, emboss_runtime::UncheckedState> {
5237 type Completed = AttPrepareWriteHeaderWriter<S, emboss_runtime::CompleteState>;
5238 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
5239 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
5240 if self.storage.len() < required_size {
5241 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
5242 }
5243 core::result::Result::Ok(unsafe { AttPrepareWriteHeaderWriter::new_in_state(self.storage) })
5244 }
5245}
5246
5247impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttPrepareWriteHeader<S, emboss_runtime::UncheckedState> {
5248 type Ok = AttPrepareWriteHeader<S, emboss_runtime::OkState>;
5249 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5250 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
5251 core::result::Result::Ok(unsafe { AttPrepareWriteHeader::new_in_state(completed.into_storage()) })
5252 }
5253}
5254
5255impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttPrepareWriteHeader<S, emboss_runtime::CompleteState> {
5256 type Ok = AttPrepareWriteHeader<S, emboss_runtime::OkState>;
5257 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5258 core::result::Result::Ok(unsafe { AttPrepareWriteHeader::new_in_state(self.into_storage()) })
5259 }
5260}
5261
5262impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttPrepareWriteHeader<S, emboss_runtime::OkState> {
5263 type Ok = AttPrepareWriteHeader<S, emboss_runtime::OkState>;
5264 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5265 core::result::Result::Ok(self)
5266 }
5267}
5268
5269impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttPrepareWriteHeaderWriter<S, emboss_runtime::UncheckedState> {
5270 type Ok = AttPrepareWriteHeaderWriter<S, emboss_runtime::OkState>;
5271 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5272 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
5273 core::result::Result::Ok(unsafe { AttPrepareWriteHeaderWriter::new_in_state(completed.into_storage()) })
5274 }
5275}
5276
5277impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttPrepareWriteHeaderWriter<S, emboss_runtime::CompleteState> {
5278 type Ok = AttPrepareWriteHeaderWriter<S, emboss_runtime::OkState>;
5279 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5280 core::result::Result::Ok(unsafe { AttPrepareWriteHeaderWriter::new_in_state(self.into_storage()) })
5281 }
5282}
5283
5284impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttPrepareWriteHeaderWriter<S, emboss_runtime::OkState> {
5285 type Ok = AttPrepareWriteHeaderWriter<S, emboss_runtime::OkState>;
5286 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5287 core::result::Result::Ok(self)
5288 }
5289}
5290
5291pub mod att_prepare_write_header {
5292 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttPrepareWriteHeader<S, ST>;
5293 pub type ViewMut<S> = super::AttPrepareWriteHeaderMut<S>;
5294 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttPrepareWriteHeaderWriter<S, ST>;
5295
5296 pub const MIN_SIZE_IN_BYTES: usize = 5;
5297 pub const MAX_SIZE_IN_BYTES: usize = 5;
5298 pub const SIZE_IN_BYTES: usize = 5;
5299}#[derive(Copy, Clone, Debug, Eq, PartialEq)]
5300#[repr(u64)]
5301pub enum AttExecuteWriteFlag {
5302 CANCEL = 0,
5303 WRITE = 1,
5304
5305}
5306
5307impl core::convert::From<AttExecuteWriteFlag> for u8 { fn from(val: AttExecuteWriteFlag) -> Self { val as u8 } }
5308impl core::convert::From<AttExecuteWriteFlag> for u16 { fn from(val: AttExecuteWriteFlag) -> Self { val as u16 } }
5309impl core::convert::From<AttExecuteWriteFlag> for u32 { fn from(val: AttExecuteWriteFlag) -> Self { val as u32 } }
5310impl core::convert::From<AttExecuteWriteFlag> for u64 { fn from(val: AttExecuteWriteFlag) -> Self { val as u64 } }
5311impl core::convert::From<AttExecuteWriteFlag> for i8 { fn from(val: AttExecuteWriteFlag) -> Self { val as i8 } }
5312impl core::convert::From<AttExecuteWriteFlag> for i16 { fn from(val: AttExecuteWriteFlag) -> Self { val as i16 } }
5313impl core::convert::From<AttExecuteWriteFlag> for i32 { fn from(val: AttExecuteWriteFlag) -> Self { val as i32 } }
5314impl core::convert::From<AttExecuteWriteFlag> for i64 { fn from(val: AttExecuteWriteFlag) -> Self { val as i64 } }
5315
5316impl emboss_runtime::SafeCmp<AttExecuteWriteFlag> for AttExecuteWriteFlag {
5317 fn safe_eq(&self, other: Self) -> bool { *self == other }
5318 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
5319}
5320
5321impl emboss_runtime::SafeCmp<u64> for AttExecuteWriteFlag {
5322 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
5323 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
5324}
5325
5326impl emboss_runtime::SafeCmp<i64> for AttExecuteWriteFlag {
5327 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
5328 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
5329}
5330
5331impl emboss_runtime::SafeCmp<i32> for AttExecuteWriteFlag {
5332 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
5333 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
5334}
5335
5336impl emboss_runtime::SafeCmp<u32> for AttExecuteWriteFlag {
5337 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
5338 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
5339}
5340
5341impl emboss_runtime::SafeCmp<AttExecuteWriteFlag> for u64 {
5342 fn safe_eq(&self, other: AttExecuteWriteFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
5343 fn safe_less(&self, other: AttExecuteWriteFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
5344}
5345
5346impl emboss_runtime::SafeCmp<AttExecuteWriteFlag> for i64 {
5347 fn safe_eq(&self, other: AttExecuteWriteFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
5348 fn safe_less(&self, other: AttExecuteWriteFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
5349}
5350
5351impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for AttExecuteWriteFlag {
5352 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
5353 let v_raw: u64 = val.into();
5354 match v_raw {
5355 0 => Ok(AttExecuteWriteFlag::CANCEL),
5356 1 => Ok(AttExecuteWriteFlag::WRITE),
5357
5358 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
5359 }
5360 }
5361}
5362
5363impl AttExecuteWriteFlag {
5364
5365}
5366pub struct AttExecuteWriteReq<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
5367 storage: S,
5368 _marker: core::marker::PhantomData<ST>,
5369}
5370
5371impl<S: emboss_runtime::Storage> AttExecuteWriteReq<S, emboss_runtime::UncheckedState> {
5372 pub fn new(storage: S) -> Self {
5373 Self {
5374 storage,
5375 _marker: core::marker::PhantomData,
5376 }
5377 }
5378}
5379
5380impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttExecuteWriteReq<S, ST> {
5381 fn clone(&self) -> Self {
5382 Self {
5383 storage: self.storage.clone(),
5384 _marker: core::marker::PhantomData,
5385 }
5386 }
5387}
5388
5389impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttExecuteWriteReq<S, ST> {
5390 pub unsafe fn new_in_state(storage: S) -> Self {
5398 Self {
5399 storage,
5400 _marker: core::marker::PhantomData,
5401 }
5402 }
5403 pub fn into_storage(self) -> S {
5404 self.storage
5405 }
5406 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
5407 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5408 let offset = (0) as usize;
5409 let len = (1) as usize;
5410 core::result::Result::Ok((offset, len))
5411 })().unwrap_or((usize::MAX, 0));
5412 let storage = self.storage.slice(offset, len);
5413 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
5414 }
5415 pub fn flags(&self) -> emboss_runtime::EnumView<AttExecuteWriteFlag, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
5416 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5417 let offset = (1) as usize;
5418 let len = (1) as usize;
5419 core::result::Result::Ok((offset, len))
5420 })().unwrap_or((usize::MAX, 0));
5421 let storage = self.storage.slice(offset, len);
5422 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
5423 }
5424
5425}
5426
5427pub struct AttExecuteWriteReqMut<S: emboss_runtime::MutStorage> {
5428 storage: S,
5429}
5430
5431impl<S: emboss_runtime::MutStorage> AttExecuteWriteReqMut<S> {
5432 pub fn new(storage: S) -> Self {
5433 Self {
5434 storage,
5435 }
5436 }
5437 pub fn into_writer(self) -> AttExecuteWriteReqWriter<S, emboss_runtime::UncheckedState> {
5438 AttExecuteWriteReqWriter::new(self.storage)
5439 }
5440 pub fn as_view(&self) -> AttExecuteWriteReq<S::Sliced<'_>, emboss_runtime::UncheckedState> {
5442 unsafe { AttExecuteWriteReq::new_in_state(self.storage.slice(0, self.storage.len())) }
5443 }
5444 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
5445 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5446 let offset = (0) as usize;
5447 let len = (1) as usize;
5448 core::result::Result::Ok((offset, len))
5449 })().unwrap_or((usize::MAX, 0));
5450 let storage = self.storage.slice_mut(offset, len);
5451 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
5452 }
5453 pub fn flags(&mut self) -> emboss_runtime::EnumViewMut<AttExecuteWriteFlag, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
5454 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5455 let offset = (1) as usize;
5456 let len = (1) as usize;
5457 core::result::Result::Ok((offset, len))
5458 })().unwrap_or((usize::MAX, 0));
5459 let storage = self.storage.slice_mut(offset, len);
5460 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
5461 }
5462
5463}
5464
5465impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttExecuteWriteReqMut<S> {
5466 type Writer = AttExecuteWriteReqWriter<S, emboss_runtime::UncheckedState>;
5467 fn into_writer(self) -> Self::Writer {
5468 AttExecuteWriteReqWriter::new(self.storage)
5469 }
5470}
5471
5472pub struct AttExecuteWriteReqWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
5473 storage: S,
5474 _marker: core::marker::PhantomData<ST>,
5475}
5476
5477impl<S: emboss_runtime::MutStorage> AttExecuteWriteReqWriter<S, emboss_runtime::UncheckedState> {
5478 pub fn new(storage: S) -> Self {
5479 Self {
5480 storage,
5481 _marker: core::marker::PhantomData,
5482 }
5483 }
5484}
5485
5486impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttExecuteWriteReqWriter<S, ST> {
5487 pub unsafe fn new_in_state(storage: S) -> Self {
5495 Self {
5496 storage,
5497 _marker: core::marker::PhantomData,
5498 }
5499 }
5500 pub fn into_storage(self) -> S {
5501 self.storage
5502 }
5503 pub fn into_view(self) -> AttExecuteWriteReq<S, ST> {
5505 unsafe { AttExecuteWriteReq::new_in_state(self.storage) }
5506 }
5507 pub fn as_view(&self) -> AttExecuteWriteReq<S::Sliced<'_>, ST> {
5509 unsafe { AttExecuteWriteReq::new_in_state(self.storage.slice(0, self.storage.len())) }
5510 }
5511 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttExecuteWriteReqWriter<S, ST::OnValidMutation> {
5512 let view = self.into_view();
5513 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5514 let offset = (0) as usize;
5515 let len = (1) as usize;
5516 core::result::Result::Ok((offset, len))
5517 })().expect("valid layout in complete state");
5518 let mut storage = view.into_storage();
5519 {
5520 let slice = storage.slice_mut(offset, len);
5521 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
5522 field_view.try_write(val).expect("valid write in complete state");
5523 }
5524 unsafe { AttExecuteWriteReqWriter::new_in_state(storage) }
5525 }
5526 pub fn write_flags(self, val: AttExecuteWriteFlag) -> AttExecuteWriteReqWriter<S, ST::OnValidMutation> {
5527 let view = self.into_view();
5528 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5529 let offset = (1) as usize;
5530 let len = (1) as usize;
5531 core::result::Result::Ok((offset, len))
5532 })().expect("valid layout in complete state");
5533 let mut storage = view.into_storage();
5534 {
5535 let slice = storage.slice_mut(offset, len);
5536 let mut field_view = emboss_runtime::EnumViewMut::<AttExecuteWriteFlag, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
5537 field_view.try_write(val).expect("valid write in complete state");
5538 }
5539 unsafe { AttExecuteWriteReqWriter::new_in_state(storage) }
5540 }
5541
5542}
5543
5544impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttExecuteWriteReq<S, ST> {
5545 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5546 let view = self;
5547 core::result::Result::Ok((2) as usize)
5548 }
5549}
5550
5551impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttExecuteWriteReqMut<S> {
5552 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5553 let view = self.as_view();
5554 <AttExecuteWriteReq<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
5555 }
5556}
5557
5558impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttExecuteWriteReqWriter<S, ST> {
5559 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5560 let view = self.as_view();
5561 <AttExecuteWriteReq<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
5562 }
5563}
5564
5565impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttExecuteWriteReq<S, emboss_runtime::UncheckedState> {
5566 type Completed = AttExecuteWriteReq<S, emboss_runtime::CompleteState>;
5567 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
5568 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
5569 if self.storage.len() < required_size {
5570 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
5571 }
5572 core::result::Result::Ok(unsafe { AttExecuteWriteReq::new_in_state(self.storage) })
5573 }
5574}
5575
5576impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttExecuteWriteReqWriter<S, emboss_runtime::UncheckedState> {
5577 type Completed = AttExecuteWriteReqWriter<S, emboss_runtime::CompleteState>;
5578 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
5579 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
5580 if self.storage.len() < required_size {
5581 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
5582 }
5583 core::result::Result::Ok(unsafe { AttExecuteWriteReqWriter::new_in_state(self.storage) })
5584 }
5585}
5586
5587impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExecuteWriteReq<S, emboss_runtime::UncheckedState> {
5588 type Ok = AttExecuteWriteReq<S, emboss_runtime::OkState>;
5589 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5590 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
5591 core::result::Result::Ok(unsafe { AttExecuteWriteReq::new_in_state(completed.into_storage()) })
5592 }
5593}
5594
5595impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExecuteWriteReq<S, emboss_runtime::CompleteState> {
5596 type Ok = AttExecuteWriteReq<S, emboss_runtime::OkState>;
5597 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5598 core::result::Result::Ok(unsafe { AttExecuteWriteReq::new_in_state(self.into_storage()) })
5599 }
5600}
5601
5602impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttExecuteWriteReq<S, emboss_runtime::OkState> {
5603 type Ok = AttExecuteWriteReq<S, emboss_runtime::OkState>;
5604 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5605 core::result::Result::Ok(self)
5606 }
5607}
5608
5609impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExecuteWriteReqWriter<S, emboss_runtime::UncheckedState> {
5610 type Ok = AttExecuteWriteReqWriter<S, emboss_runtime::OkState>;
5611 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5612 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
5613 core::result::Result::Ok(unsafe { AttExecuteWriteReqWriter::new_in_state(completed.into_storage()) })
5614 }
5615}
5616
5617impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExecuteWriteReqWriter<S, emboss_runtime::CompleteState> {
5618 type Ok = AttExecuteWriteReqWriter<S, emboss_runtime::OkState>;
5619 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5620 core::result::Result::Ok(unsafe { AttExecuteWriteReqWriter::new_in_state(self.into_storage()) })
5621 }
5622}
5623
5624impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttExecuteWriteReqWriter<S, emboss_runtime::OkState> {
5625 type Ok = AttExecuteWriteReqWriter<S, emboss_runtime::OkState>;
5626 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5627 core::result::Result::Ok(self)
5628 }
5629}
5630
5631pub mod att_execute_write_req {
5632 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttExecuteWriteReq<S, ST>;
5633 pub type ViewMut<S> = super::AttExecuteWriteReqMut<S>;
5634 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttExecuteWriteReqWriter<S, ST>;
5635
5636 pub const MIN_SIZE_IN_BYTES: usize = 2;
5637 pub const MAX_SIZE_IN_BYTES: usize = 2;
5638 pub const SIZE_IN_BYTES: usize = 2;
5639}pub struct AttHandleValueNtf<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
5640 storage: S,
5641 _marker: core::marker::PhantomData<ST>,
5642}
5643
5644impl<S: emboss_runtime::Storage> AttHandleValueNtf<S, emboss_runtime::UncheckedState> {
5645 pub fn new(storage: S) -> Self {
5646 Self {
5647 storage,
5648 _marker: core::marker::PhantomData,
5649 }
5650 }
5651}
5652
5653impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttHandleValueNtf<S, ST> {
5654 fn clone(&self) -> Self {
5655 Self {
5656 storage: self.storage.clone(),
5657 _marker: core::marker::PhantomData,
5658 }
5659 }
5660}
5661
5662impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttHandleValueNtf<S, ST> {
5663 pub unsafe fn new_in_state(storage: S) -> Self {
5671 Self {
5672 storage,
5673 _marker: core::marker::PhantomData,
5674 }
5675 }
5676 pub fn into_storage(self) -> S {
5677 self.storage
5678 }
5679 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
5680 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5681 let offset = (0) as usize;
5682 let len = (1) as usize;
5683 core::result::Result::Ok((offset, len))
5684 })().unwrap_or((usize::MAX, 0));
5685 let storage = self.storage.slice(offset, len);
5686 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
5687 }
5688 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
5689 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5690 let offset = (1) as usize;
5691 let len = (2) as usize;
5692 core::result::Result::Ok((offset, len))
5693 })().unwrap_or((usize::MAX, 0));
5694 let storage = self.storage.slice(offset, len);
5695 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
5696 }
5697
5698}
5699
5700pub struct AttHandleValueNtfMut<S: emboss_runtime::MutStorage> {
5701 storage: S,
5702}
5703
5704impl<S: emboss_runtime::MutStorage> AttHandleValueNtfMut<S> {
5705 pub fn new(storage: S) -> Self {
5706 Self {
5707 storage,
5708 }
5709 }
5710 pub fn into_writer(self) -> AttHandleValueNtfWriter<S, emboss_runtime::UncheckedState> {
5711 AttHandleValueNtfWriter::new(self.storage)
5712 }
5713 pub fn as_view(&self) -> AttHandleValueNtf<S::Sliced<'_>, emboss_runtime::UncheckedState> {
5715 unsafe { AttHandleValueNtf::new_in_state(self.storage.slice(0, self.storage.len())) }
5716 }
5717 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
5718 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5719 let offset = (0) as usize;
5720 let len = (1) as usize;
5721 core::result::Result::Ok((offset, len))
5722 })().unwrap_or((usize::MAX, 0));
5723 let storage = self.storage.slice_mut(offset, len);
5724 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
5725 }
5726 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
5727 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5728 let offset = (1) as usize;
5729 let len = (2) as usize;
5730 core::result::Result::Ok((offset, len))
5731 })().unwrap_or((usize::MAX, 0));
5732 let storage = self.storage.slice_mut(offset, len);
5733 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
5734 }
5735
5736}
5737
5738impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttHandleValueNtfMut<S> {
5739 type Writer = AttHandleValueNtfWriter<S, emboss_runtime::UncheckedState>;
5740 fn into_writer(self) -> Self::Writer {
5741 AttHandleValueNtfWriter::new(self.storage)
5742 }
5743}
5744
5745pub struct AttHandleValueNtfWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
5746 storage: S,
5747 _marker: core::marker::PhantomData<ST>,
5748}
5749
5750impl<S: emboss_runtime::MutStorage> AttHandleValueNtfWriter<S, emboss_runtime::UncheckedState> {
5751 pub fn new(storage: S) -> Self {
5752 Self {
5753 storage,
5754 _marker: core::marker::PhantomData,
5755 }
5756 }
5757}
5758
5759impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttHandleValueNtfWriter<S, ST> {
5760 pub unsafe fn new_in_state(storage: S) -> Self {
5768 Self {
5769 storage,
5770 _marker: core::marker::PhantomData,
5771 }
5772 }
5773 pub fn into_storage(self) -> S {
5774 self.storage
5775 }
5776 pub fn into_view(self) -> AttHandleValueNtf<S, ST> {
5778 unsafe { AttHandleValueNtf::new_in_state(self.storage) }
5779 }
5780 pub fn as_view(&self) -> AttHandleValueNtf<S::Sliced<'_>, ST> {
5782 unsafe { AttHandleValueNtf::new_in_state(self.storage.slice(0, self.storage.len())) }
5783 }
5784 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttHandleValueNtfWriter<S, ST::OnValidMutation> {
5785 let view = self.into_view();
5786 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5787 let offset = (0) as usize;
5788 let len = (1) as usize;
5789 core::result::Result::Ok((offset, len))
5790 })().expect("valid layout in complete state");
5791 let mut storage = view.into_storage();
5792 {
5793 let slice = storage.slice_mut(offset, len);
5794 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
5795 field_view.try_write(val).expect("valid write in complete state");
5796 }
5797 unsafe { AttHandleValueNtfWriter::new_in_state(storage) }
5798 }
5799 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttHandleValueNtfWriter<S, ST::OnValidMutation> {
5800 let view = self.into_view();
5801 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5802 let offset = (1) as usize;
5803 let len = (2) as usize;
5804 core::result::Result::Ok((offset, len))
5805 })().expect("valid layout in complete state");
5806 let mut storage = view.into_storage();
5807 {
5808 let slice = storage.slice_mut(offset, len);
5809 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
5810 field_view.try_write(val).expect("valid write in complete state");
5811 }
5812 unsafe { AttHandleValueNtfWriter::new_in_state(storage) }
5813 }
5814
5815}
5816
5817impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttHandleValueNtf<S, ST> {
5818 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5819 let view = self;
5820 core::result::Result::Ok((0) as usize)
5821 }
5822}
5823
5824impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttHandleValueNtfMut<S> {
5825 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5826 let view = self.as_view();
5827 <AttHandleValueNtf<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
5828 }
5829}
5830
5831impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttHandleValueNtfWriter<S, ST> {
5832 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
5833 let view = self.as_view();
5834 <AttHandleValueNtf<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
5835 }
5836}
5837
5838impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttHandleValueNtf<S, emboss_runtime::UncheckedState> {
5839 type Completed = AttHandleValueNtf<S, emboss_runtime::CompleteState>;
5840 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
5841 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
5842 if self.storage.len() < required_size {
5843 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
5844 }
5845 core::result::Result::Ok(unsafe { AttHandleValueNtf::new_in_state(self.storage) })
5846 }
5847}
5848
5849impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttHandleValueNtfWriter<S, emboss_runtime::UncheckedState> {
5850 type Completed = AttHandleValueNtfWriter<S, emboss_runtime::CompleteState>;
5851 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
5852 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
5853 if self.storage.len() < required_size {
5854 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
5855 }
5856 core::result::Result::Ok(unsafe { AttHandleValueNtfWriter::new_in_state(self.storage) })
5857 }
5858}
5859
5860impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueNtf<S, emboss_runtime::UncheckedState> {
5861 type Ok = AttHandleValueNtf<S, emboss_runtime::OkState>;
5862 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5863 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
5864 core::result::Result::Ok(unsafe { AttHandleValueNtf::new_in_state(completed.into_storage()) })
5865 }
5866}
5867
5868impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueNtf<S, emboss_runtime::CompleteState> {
5869 type Ok = AttHandleValueNtf<S, emboss_runtime::OkState>;
5870 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5871 core::result::Result::Ok(unsafe { AttHandleValueNtf::new_in_state(self.into_storage()) })
5872 }
5873}
5874
5875impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueNtf<S, emboss_runtime::OkState> {
5876 type Ok = AttHandleValueNtf<S, emboss_runtime::OkState>;
5877 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5878 core::result::Result::Ok(self)
5879 }
5880}
5881
5882impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueNtfWriter<S, emboss_runtime::UncheckedState> {
5883 type Ok = AttHandleValueNtfWriter<S, emboss_runtime::OkState>;
5884 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5885 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
5886 core::result::Result::Ok(unsafe { AttHandleValueNtfWriter::new_in_state(completed.into_storage()) })
5887 }
5888}
5889
5890impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueNtfWriter<S, emboss_runtime::CompleteState> {
5891 type Ok = AttHandleValueNtfWriter<S, emboss_runtime::OkState>;
5892 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5893 core::result::Result::Ok(unsafe { AttHandleValueNtfWriter::new_in_state(self.into_storage()) })
5894 }
5895}
5896
5897impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueNtfWriter<S, emboss_runtime::OkState> {
5898 type Ok = AttHandleValueNtfWriter<S, emboss_runtime::OkState>;
5899 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
5900 core::result::Result::Ok(self)
5901 }
5902}
5903
5904pub mod att_handle_value_ntf {
5905 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttHandleValueNtf<S, ST>;
5906 pub type ViewMut<S> = super::AttHandleValueNtfMut<S>;
5907 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttHandleValueNtfWriter<S, ST>;
5908
5909 pub const MIN_SIZE_IN_BYTES: usize = 3;
5910 pub const MAX_SIZE_IN_BYTES: usize = 65538;
5911}pub struct AttHandleValueNtfHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
5912 storage: S,
5913 _marker: core::marker::PhantomData<ST>,
5914}
5915
5916impl<S: emboss_runtime::Storage> AttHandleValueNtfHeader<S, emboss_runtime::UncheckedState> {
5917 pub fn new(storage: S) -> Self {
5918 Self {
5919 storage,
5920 _marker: core::marker::PhantomData,
5921 }
5922 }
5923}
5924
5925impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttHandleValueNtfHeader<S, ST> {
5926 fn clone(&self) -> Self {
5927 Self {
5928 storage: self.storage.clone(),
5929 _marker: core::marker::PhantomData,
5930 }
5931 }
5932}
5933
5934impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttHandleValueNtfHeader<S, ST> {
5935 pub unsafe fn new_in_state(storage: S) -> Self {
5943 Self {
5944 storage,
5945 _marker: core::marker::PhantomData,
5946 }
5947 }
5948 pub fn into_storage(self) -> S {
5949 self.storage
5950 }
5951 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
5952 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5953 let offset = (0) as usize;
5954 let len = (1) as usize;
5955 core::result::Result::Ok((offset, len))
5956 })().unwrap_or((usize::MAX, 0));
5957 let storage = self.storage.slice(offset, len);
5958 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
5959 }
5960 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
5961 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5962 let offset = (1) as usize;
5963 let len = (2) as usize;
5964 core::result::Result::Ok((offset, len))
5965 })().unwrap_or((usize::MAX, 0));
5966 let storage = self.storage.slice(offset, len);
5967 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
5968 }
5969
5970}
5971
5972pub struct AttHandleValueNtfHeaderMut<S: emboss_runtime::MutStorage> {
5973 storage: S,
5974}
5975
5976impl<S: emboss_runtime::MutStorage> AttHandleValueNtfHeaderMut<S> {
5977 pub fn new(storage: S) -> Self {
5978 Self {
5979 storage,
5980 }
5981 }
5982 pub fn into_writer(self) -> AttHandleValueNtfHeaderWriter<S, emboss_runtime::UncheckedState> {
5983 AttHandleValueNtfHeaderWriter::new(self.storage)
5984 }
5985 pub fn as_view(&self) -> AttHandleValueNtfHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
5987 unsafe { AttHandleValueNtfHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
5988 }
5989 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
5990 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
5991 let offset = (0) as usize;
5992 let len = (1) as usize;
5993 core::result::Result::Ok((offset, len))
5994 })().unwrap_or((usize::MAX, 0));
5995 let storage = self.storage.slice_mut(offset, len);
5996 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
5997 }
5998 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
5999 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6000 let offset = (1) as usize;
6001 let len = (2) as usize;
6002 core::result::Result::Ok((offset, len))
6003 })().unwrap_or((usize::MAX, 0));
6004 let storage = self.storage.slice_mut(offset, len);
6005 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
6006 }
6007
6008}
6009
6010impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttHandleValueNtfHeaderMut<S> {
6011 type Writer = AttHandleValueNtfHeaderWriter<S, emboss_runtime::UncheckedState>;
6012 fn into_writer(self) -> Self::Writer {
6013 AttHandleValueNtfHeaderWriter::new(self.storage)
6014 }
6015}
6016
6017pub struct AttHandleValueNtfHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
6018 storage: S,
6019 _marker: core::marker::PhantomData<ST>,
6020}
6021
6022impl<S: emboss_runtime::MutStorage> AttHandleValueNtfHeaderWriter<S, emboss_runtime::UncheckedState> {
6023 pub fn new(storage: S) -> Self {
6024 Self {
6025 storage,
6026 _marker: core::marker::PhantomData,
6027 }
6028 }
6029}
6030
6031impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttHandleValueNtfHeaderWriter<S, ST> {
6032 pub unsafe fn new_in_state(storage: S) -> Self {
6040 Self {
6041 storage,
6042 _marker: core::marker::PhantomData,
6043 }
6044 }
6045 pub fn into_storage(self) -> S {
6046 self.storage
6047 }
6048 pub fn into_view(self) -> AttHandleValueNtfHeader<S, ST> {
6050 unsafe { AttHandleValueNtfHeader::new_in_state(self.storage) }
6051 }
6052 pub fn as_view(&self) -> AttHandleValueNtfHeader<S::Sliced<'_>, ST> {
6054 unsafe { AttHandleValueNtfHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
6055 }
6056 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttHandleValueNtfHeaderWriter<S, ST::OnValidMutation> {
6057 let view = self.into_view();
6058 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6059 let offset = (0) as usize;
6060 let len = (1) as usize;
6061 core::result::Result::Ok((offset, len))
6062 })().expect("valid layout in complete state");
6063 let mut storage = view.into_storage();
6064 {
6065 let slice = storage.slice_mut(offset, len);
6066 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
6067 field_view.try_write(val).expect("valid write in complete state");
6068 }
6069 unsafe { AttHandleValueNtfHeaderWriter::new_in_state(storage) }
6070 }
6071 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttHandleValueNtfHeaderWriter<S, ST::OnValidMutation> {
6072 let view = self.into_view();
6073 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6074 let offset = (1) as usize;
6075 let len = (2) as usize;
6076 core::result::Result::Ok((offset, len))
6077 })().expect("valid layout in complete state");
6078 let mut storage = view.into_storage();
6079 {
6080 let slice = storage.slice_mut(offset, len);
6081 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
6082 field_view.try_write(val).expect("valid write in complete state");
6083 }
6084 unsafe { AttHandleValueNtfHeaderWriter::new_in_state(storage) }
6085 }
6086
6087}
6088
6089impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttHandleValueNtfHeader<S, ST> {
6090 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
6091 let view = self;
6092 core::result::Result::Ok((3) as usize)
6093 }
6094}
6095
6096impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttHandleValueNtfHeaderMut<S> {
6097 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
6098 let view = self.as_view();
6099 <AttHandleValueNtfHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
6100 }
6101}
6102
6103impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttHandleValueNtfHeaderWriter<S, ST> {
6104 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
6105 let view = self.as_view();
6106 <AttHandleValueNtfHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
6107 }
6108}
6109
6110impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttHandleValueNtfHeader<S, emboss_runtime::UncheckedState> {
6111 type Completed = AttHandleValueNtfHeader<S, emboss_runtime::CompleteState>;
6112 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
6113 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
6114 if self.storage.len() < required_size {
6115 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
6116 }
6117 core::result::Result::Ok(unsafe { AttHandleValueNtfHeader::new_in_state(self.storage) })
6118 }
6119}
6120
6121impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttHandleValueNtfHeaderWriter<S, emboss_runtime::UncheckedState> {
6122 type Completed = AttHandleValueNtfHeaderWriter<S, emboss_runtime::CompleteState>;
6123 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
6124 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
6125 if self.storage.len() < required_size {
6126 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
6127 }
6128 core::result::Result::Ok(unsafe { AttHandleValueNtfHeaderWriter::new_in_state(self.storage) })
6129 }
6130}
6131
6132impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueNtfHeader<S, emboss_runtime::UncheckedState> {
6133 type Ok = AttHandleValueNtfHeader<S, emboss_runtime::OkState>;
6134 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6135 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
6136 core::result::Result::Ok(unsafe { AttHandleValueNtfHeader::new_in_state(completed.into_storage()) })
6137 }
6138}
6139
6140impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueNtfHeader<S, emboss_runtime::CompleteState> {
6141 type Ok = AttHandleValueNtfHeader<S, emboss_runtime::OkState>;
6142 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6143 core::result::Result::Ok(unsafe { AttHandleValueNtfHeader::new_in_state(self.into_storage()) })
6144 }
6145}
6146
6147impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueNtfHeader<S, emboss_runtime::OkState> {
6148 type Ok = AttHandleValueNtfHeader<S, emboss_runtime::OkState>;
6149 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6150 core::result::Result::Ok(self)
6151 }
6152}
6153
6154impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueNtfHeaderWriter<S, emboss_runtime::UncheckedState> {
6155 type Ok = AttHandleValueNtfHeaderWriter<S, emboss_runtime::OkState>;
6156 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6157 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
6158 core::result::Result::Ok(unsafe { AttHandleValueNtfHeaderWriter::new_in_state(completed.into_storage()) })
6159 }
6160}
6161
6162impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueNtfHeaderWriter<S, emboss_runtime::CompleteState> {
6163 type Ok = AttHandleValueNtfHeaderWriter<S, emboss_runtime::OkState>;
6164 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6165 core::result::Result::Ok(unsafe { AttHandleValueNtfHeaderWriter::new_in_state(self.into_storage()) })
6166 }
6167}
6168
6169impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueNtfHeaderWriter<S, emboss_runtime::OkState> {
6170 type Ok = AttHandleValueNtfHeaderWriter<S, emboss_runtime::OkState>;
6171 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6172 core::result::Result::Ok(self)
6173 }
6174}
6175
6176pub mod att_handle_value_ntf_header {
6177 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttHandleValueNtfHeader<S, ST>;
6178 pub type ViewMut<S> = super::AttHandleValueNtfHeaderMut<S>;
6179 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttHandleValueNtfHeaderWriter<S, ST>;
6180
6181 pub const MIN_SIZE_IN_BYTES: usize = 3;
6182 pub const MAX_SIZE_IN_BYTES: usize = 3;
6183 pub const SIZE_IN_BYTES: usize = 3;
6184}pub struct AttHandleValueIndHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
6185 storage: S,
6186 _marker: core::marker::PhantomData<ST>,
6187}
6188
6189impl<S: emboss_runtime::Storage> AttHandleValueIndHeader<S, emboss_runtime::UncheckedState> {
6190 pub fn new(storage: S) -> Self {
6191 Self {
6192 storage,
6193 _marker: core::marker::PhantomData,
6194 }
6195 }
6196}
6197
6198impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AttHandleValueIndHeader<S, ST> {
6199 fn clone(&self) -> Self {
6200 Self {
6201 storage: self.storage.clone(),
6202 _marker: core::marker::PhantomData,
6203 }
6204 }
6205}
6206
6207impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AttHandleValueIndHeader<S, ST> {
6208 pub unsafe fn new_in_state(storage: S) -> Self {
6216 Self {
6217 storage,
6218 _marker: core::marker::PhantomData,
6219 }
6220 }
6221 pub fn into_storage(self) -> S {
6222 self.storage
6223 }
6224 pub fn attribute_opcode(&self) -> emboss_runtime::EnumView<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>> {
6225 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6226 let offset = (0) as usize;
6227 let len = (1) as usize;
6228 core::result::Result::Ok((offset, len))
6229 })().unwrap_or((usize::MAX, 0));
6230 let storage = self.storage.slice(offset, len);
6231 emboss_runtime::EnumView::new(emboss_runtime::UInt::new(storage))
6232 }
6233 pub fn attribute_handle(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
6234 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6235 let offset = (1) as usize;
6236 let len = (2) as usize;
6237 core::result::Result::Ok((offset, len))
6238 })().unwrap_or((usize::MAX, 0));
6239 let storage = self.storage.slice(offset, len);
6240 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
6241 }
6242
6243}
6244
6245pub struct AttHandleValueIndHeaderMut<S: emboss_runtime::MutStorage> {
6246 storage: S,
6247}
6248
6249impl<S: emboss_runtime::MutStorage> AttHandleValueIndHeaderMut<S> {
6250 pub fn new(storage: S) -> Self {
6251 Self {
6252 storage,
6253 }
6254 }
6255 pub fn into_writer(self) -> AttHandleValueIndHeaderWriter<S, emboss_runtime::UncheckedState> {
6256 AttHandleValueIndHeaderWriter::new(self.storage)
6257 }
6258 pub fn as_view(&self) -> AttHandleValueIndHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
6260 unsafe { AttHandleValueIndHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
6261 }
6262 pub fn attribute_opcode(&mut self) -> emboss_runtime::EnumViewMut<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
6263 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6264 let offset = (0) as usize;
6265 let len = (1) as usize;
6266 core::result::Result::Ok((offset, len))
6267 })().unwrap_or((usize::MAX, 0));
6268 let storage = self.storage.slice_mut(offset, len);
6269 emboss_runtime::EnumViewMut::new(emboss_runtime::UInt::new(storage))
6270 }
6271 pub fn attribute_handle(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
6272 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6273 let offset = (1) as usize;
6274 let len = (2) as usize;
6275 core::result::Result::Ok((offset, len))
6276 })().unwrap_or((usize::MAX, 0));
6277 let storage = self.storage.slice_mut(offset, len);
6278 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
6279 }
6280
6281}
6282
6283impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AttHandleValueIndHeaderMut<S> {
6284 type Writer = AttHandleValueIndHeaderWriter<S, emboss_runtime::UncheckedState>;
6285 fn into_writer(self) -> Self::Writer {
6286 AttHandleValueIndHeaderWriter::new(self.storage)
6287 }
6288}
6289
6290pub struct AttHandleValueIndHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
6291 storage: S,
6292 _marker: core::marker::PhantomData<ST>,
6293}
6294
6295impl<S: emboss_runtime::MutStorage> AttHandleValueIndHeaderWriter<S, emboss_runtime::UncheckedState> {
6296 pub fn new(storage: S) -> Self {
6297 Self {
6298 storage,
6299 _marker: core::marker::PhantomData,
6300 }
6301 }
6302}
6303
6304impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AttHandleValueIndHeaderWriter<S, ST> {
6305 pub unsafe fn new_in_state(storage: S) -> Self {
6313 Self {
6314 storage,
6315 _marker: core::marker::PhantomData,
6316 }
6317 }
6318 pub fn into_storage(self) -> S {
6319 self.storage
6320 }
6321 pub fn into_view(self) -> AttHandleValueIndHeader<S, ST> {
6323 unsafe { AttHandleValueIndHeader::new_in_state(self.storage) }
6324 }
6325 pub fn as_view(&self) -> AttHandleValueIndHeader<S::Sliced<'_>, ST> {
6327 unsafe { AttHandleValueIndHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
6328 }
6329 pub fn write_attribute_opcode(self, val: AttOpcode) -> AttHandleValueIndHeaderWriter<S, ST::OnValidMutation> {
6330 let view = self.into_view();
6331 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6332 let offset = (0) as usize;
6333 let len = (1) as usize;
6334 core::result::Result::Ok((offset, len))
6335 })().expect("valid layout in complete state");
6336 let mut storage = view.into_storage();
6337 {
6338 let slice = storage.slice_mut(offset, len);
6339 let mut field_view = emboss_runtime::EnumViewMut::<AttOpcode, emboss_runtime::UInt<8, emboss_runtime::LittleEndian, _>>::new(emboss_runtime::UInt::new(slice));
6340 field_view.try_write(val).expect("valid write in complete state");
6341 }
6342 unsafe { AttHandleValueIndHeaderWriter::new_in_state(storage) }
6343 }
6344 pub fn write_attribute_handle(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AttHandleValueIndHeaderWriter<S, ST::OnValidMutation> {
6345 let view = self.into_view();
6346 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
6347 let offset = (1) as usize;
6348 let len = (2) as usize;
6349 core::result::Result::Ok((offset, len))
6350 })().expect("valid layout in complete state");
6351 let mut storage = view.into_storage();
6352 {
6353 let slice = storage.slice_mut(offset, len);
6354 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
6355 field_view.try_write(val).expect("valid write in complete state");
6356 }
6357 unsafe { AttHandleValueIndHeaderWriter::new_in_state(storage) }
6358 }
6359
6360}
6361
6362impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AttHandleValueIndHeader<S, ST> {
6363 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
6364 let view = self;
6365 core::result::Result::Ok((3) as usize)
6366 }
6367}
6368
6369impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AttHandleValueIndHeaderMut<S> {
6370 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
6371 let view = self.as_view();
6372 <AttHandleValueIndHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
6373 }
6374}
6375
6376impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AttHandleValueIndHeaderWriter<S, ST> {
6377 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
6378 let view = self.as_view();
6379 <AttHandleValueIndHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
6380 }
6381}
6382
6383impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AttHandleValueIndHeader<S, emboss_runtime::UncheckedState> {
6384 type Completed = AttHandleValueIndHeader<S, emboss_runtime::CompleteState>;
6385 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
6386 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
6387 if self.storage.len() < required_size {
6388 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
6389 }
6390 core::result::Result::Ok(unsafe { AttHandleValueIndHeader::new_in_state(self.storage) })
6391 }
6392}
6393
6394impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AttHandleValueIndHeaderWriter<S, emboss_runtime::UncheckedState> {
6395 type Completed = AttHandleValueIndHeaderWriter<S, emboss_runtime::CompleteState>;
6396 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
6397 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
6398 if self.storage.len() < required_size {
6399 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
6400 }
6401 core::result::Result::Ok(unsafe { AttHandleValueIndHeaderWriter::new_in_state(self.storage) })
6402 }
6403}
6404
6405impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueIndHeader<S, emboss_runtime::UncheckedState> {
6406 type Ok = AttHandleValueIndHeader<S, emboss_runtime::OkState>;
6407 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6408 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
6409 core::result::Result::Ok(unsafe { AttHandleValueIndHeader::new_in_state(completed.into_storage()) })
6410 }
6411}
6412
6413impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueIndHeader<S, emboss_runtime::CompleteState> {
6414 type Ok = AttHandleValueIndHeader<S, emboss_runtime::OkState>;
6415 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6416 core::result::Result::Ok(unsafe { AttHandleValueIndHeader::new_in_state(self.into_storage()) })
6417 }
6418}
6419
6420impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AttHandleValueIndHeader<S, emboss_runtime::OkState> {
6421 type Ok = AttHandleValueIndHeader<S, emboss_runtime::OkState>;
6422 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6423 core::result::Result::Ok(self)
6424 }
6425}
6426
6427impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueIndHeaderWriter<S, emboss_runtime::UncheckedState> {
6428 type Ok = AttHandleValueIndHeaderWriter<S, emboss_runtime::OkState>;
6429 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6430 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
6431 core::result::Result::Ok(unsafe { AttHandleValueIndHeaderWriter::new_in_state(completed.into_storage()) })
6432 }
6433}
6434
6435impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueIndHeaderWriter<S, emboss_runtime::CompleteState> {
6436 type Ok = AttHandleValueIndHeaderWriter<S, emboss_runtime::OkState>;
6437 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6438 core::result::Result::Ok(unsafe { AttHandleValueIndHeaderWriter::new_in_state(self.into_storage()) })
6439 }
6440}
6441
6442impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AttHandleValueIndHeaderWriter<S, emboss_runtime::OkState> {
6443 type Ok = AttHandleValueIndHeaderWriter<S, emboss_runtime::OkState>;
6444 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
6445 core::result::Result::Ok(self)
6446 }
6447}
6448
6449pub mod att_handle_value_ind_header {
6450 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AttHandleValueIndHeader<S, ST>;
6451 pub type ViewMut<S> = super::AttHandleValueIndHeaderMut<S>;
6452 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AttHandleValueIndHeaderWriter<S, ST>;
6453
6454 pub const MIN_SIZE_IN_BYTES: usize = 3;
6455 pub const MAX_SIZE_IN_BYTES: usize = 3;
6456 pub const SIZE_IN_BYTES: usize = 3;
6457}