rusmpp/command/
builder.rs1use crate::{CommandStatus, Pdu};
2
3use super::inner::Command;
4
5#[derive(Debug, Default)]
6pub struct CommandStatusBuilder {
7 inner: Command,
8}
9
10impl CommandStatusBuilder {
11 #[inline]
12 pub fn status(mut self, status: CommandStatus) -> SequenceNumberBuilder {
13 self.inner.status = status;
14
15 SequenceNumberBuilder { inner: self.inner }
16 }
17}
18
19#[derive(Debug)]
20pub struct SequenceNumberBuilder {
21 inner: Command,
22}
23
24impl SequenceNumberBuilder {
25 #[inline]
26 pub fn sequence_number(mut self, sequence_number: u32) -> PduBuilder {
27 self.inner.sequence_number = sequence_number;
28
29 PduBuilder { inner: self.inner }
30 }
31}
32
33#[derive(Debug)]
34pub struct PduBuilder {
35 inner: Command,
36}
37
38impl PduBuilder {
39 #[inline]
40 pub fn pdu(mut self, pdu: impl Into<Pdu>) -> Command {
41 self.inner.set_pdu(pdu);
42 self.inner
43 }
44}