rusmpp/command/
builder.rs

1use 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}