1use crate::enumerations::{
2 ActiveInterrogationIndicator, CoupledExtensionIndicator, DetonationTypeIndicator,
3 FireTypeIndicator, IffSimulationMode, IntercomAttachedIndicator, LvcIndicator,
4 RadioAttachedIndicator, TransferredEntityIndicator,
5};
6use crate::v7::model::PduStatus;
7
8pub fn build_pdu_status_cei_lvc_tei(
9 cei: CoupledExtensionIndicator,
10 lvc: LvcIndicator,
11 tei: TransferredEntityIndicator,
12) -> PduStatus {
13 PduStatus {
14 transferred_entity_indicator: Some(tei),
15 lvc_indicator: Some(lvc),
16 coupled_extension_indicator: Some(cei),
17 fire_type_indicator: None,
18 detonation_type_indicator: None,
19 radio_attached_indicator: None,
20 intercom_attached_indicator: None,
21 iff_simulation_mode: None,
22 active_interrogation_indicator: None,
23 }
24}
25
26pub fn build_pdu_status_fti_cei_lvc(
27 fti: FireTypeIndicator,
28 cei: CoupledExtensionIndicator,
29 lvc: LvcIndicator,
30) -> PduStatus {
31 PduStatus {
32 transferred_entity_indicator: None,
33 lvc_indicator: Some(lvc),
34 coupled_extension_indicator: Some(cei),
35 fire_type_indicator: Some(fti),
36 detonation_type_indicator: None,
37 radio_attached_indicator: None,
38 intercom_attached_indicator: None,
39 iff_simulation_mode: None,
40 active_interrogation_indicator: None,
41 }
42}
43
44pub fn build_pdu_status_dti_cei_lvc(
45 dti: DetonationTypeIndicator,
46 cei: CoupledExtensionIndicator,
47 lvc: LvcIndicator,
48) -> PduStatus {
49 PduStatus {
50 transferred_entity_indicator: None,
51 lvc_indicator: Some(lvc),
52 coupled_extension_indicator: Some(cei),
53 fire_type_indicator: None,
54 detonation_type_indicator: Some(dti),
55 radio_attached_indicator: None,
56 intercom_attached_indicator: None,
57 iff_simulation_mode: None,
58 active_interrogation_indicator: None,
59 }
60}
61
62pub fn build_pdu_status_cei_lvc(cei: CoupledExtensionIndicator, lvc: LvcIndicator) -> PduStatus {
63 PduStatus {
64 transferred_entity_indicator: None,
65 lvc_indicator: Some(lvc),
66 coupled_extension_indicator: Some(cei),
67 fire_type_indicator: None,
68 detonation_type_indicator: None,
69 radio_attached_indicator: None,
70 intercom_attached_indicator: None,
71 iff_simulation_mode: None,
72 active_interrogation_indicator: None,
73 }
74}
75
76pub fn build_pdu_status_rai_cei_lvc_tei(
77 rai: RadioAttachedIndicator,
78 cei: CoupledExtensionIndicator,
79 lvc: LvcIndicator,
80 tei: TransferredEntityIndicator,
81) -> PduStatus {
82 PduStatus {
83 transferred_entity_indicator: Some(tei),
84 lvc_indicator: Some(lvc),
85 coupled_extension_indicator: Some(cei),
86 fire_type_indicator: None,
87 detonation_type_indicator: None,
88 radio_attached_indicator: Some(rai),
89 intercom_attached_indicator: None,
90 iff_simulation_mode: None,
91 active_interrogation_indicator: None,
92 }
93}
94
95pub fn build_pdu_status_aii_ism_cei_lvc_tei(
96 aii: ActiveInterrogationIndicator,
97 ism: IffSimulationMode,
98 cei: CoupledExtensionIndicator,
99 lvc: LvcIndicator,
100 tei: TransferredEntityIndicator,
101) -> PduStatus {
102 PduStatus {
103 transferred_entity_indicator: Some(tei),
104 lvc_indicator: Some(lvc),
105 coupled_extension_indicator: Some(cei),
106 fire_type_indicator: None,
107 detonation_type_indicator: None,
108 radio_attached_indicator: None,
109 intercom_attached_indicator: None,
110 iff_simulation_mode: Some(ism),
111 active_interrogation_indicator: Some(aii),
112 }
113}
114
115pub fn build_pdu_status_iai_cei_lvc_tei(
116 iai: IntercomAttachedIndicator,
117 cei: CoupledExtensionIndicator,
118 lvc: LvcIndicator,
119 tei: TransferredEntityIndicator,
120) -> PduStatus {
121 PduStatus {
122 transferred_entity_indicator: Some(tei),
123 lvc_indicator: Some(lvc),
124 coupled_extension_indicator: Some(cei),
125 fire_type_indicator: None,
126 detonation_type_indicator: None,
127 radio_attached_indicator: None,
128 intercom_attached_indicator: Some(iai),
129 iff_simulation_mode: None,
130 active_interrogation_indicator: None,
131 }
132}
133
134pub fn build_pdu_status_lvc(lvc: LvcIndicator) -> PduStatus {
135 PduStatus {
136 transferred_entity_indicator: None,
137 lvc_indicator: Some(lvc),
138 coupled_extension_indicator: None,
139 fire_type_indicator: None,
140 detonation_type_indicator: None,
141 radio_attached_indicator: None,
142 intercom_attached_indicator: None,
143 iff_simulation_mode: None,
144 active_interrogation_indicator: None,
145 }
146}