1 #include <marnav/ais/name.hpp>
7 std::string
to_name(message_id t
)
10 case message_id::NONE
:
12 case message_id::position_report_class_a
:
13 return "Position Report Class A";
14 case message_id::position_report_class_a_assigned_schedule
:
15 return "Position Report Class A - Assigned Schedule";
16 case message_id::position_report_class_a_response_to_interrogation
:
17 return "Position Report Class A - Response to Interrogation";
18 case message_id::base_station_report
:
19 return "Base Station Report";
20 case message_id::static_and_voyage_related_data
:
21 return "Static and Voyage related Data";
22 case message_id::binary_addressed_message
:
23 return "Binary Addressed Message";
24 case message_id::binary_acknowledge
:
25 return "Binary Acknowledge";
26 case message_id::binary_broadcast_message
:
27 return "Binary Broadcast Message";
28 case message_id::standard_sar_aircraft_position_report
:
29 return "Standard SAR Aircraft Position Report";
30 case message_id::utc_and_date_inquiry
:
31 return "UTC and Date Inquiry";
32 case message_id::utc_and_date_response
:
33 return "UTC and Date Response";
34 case message_id::addressed_safety_related_message
:
35 return "Addresed Safety related Message";
36 case message_id::safety_related_acknowledgement
:
37 return "Safety related Acknowledgement";
38 case message_id::safety_related_broadcast_message
:
39 return "Safety related Broadcast Message";
40 case message_id::interrogation
:
41 return "Interrogation";
42 case message_id::assignment_mode_command
:
43 return "Assignment Mode Command";
44 case message_id::dgnss_binary_broadcast_message
:
45 return "DGNSS Binary Broadcast Message";
46 case message_id::standard_class_b_cs_position_report
:
47 return "Standard Class B CS Position Report";
48 case message_id::extended_class_b_equipment_position_report
:
49 return "Extended Class B Equipment Position Report";
50 case message_id::data_link_management
:
51 return "Data Link Management";
52 case message_id::aid_to_navigation_report
:
53 return "Aid to Navigation Report";
54 case message_id::channel_management
:
55 return "Channel Management";
56 case message_id::group_assignment_command
:
57 return "Group Assignment Command";
58 case message_id::static_data_report
:
59 return "Static Data Report";
60 case message_id::single_slot_binary_message
:
61 return "Single Slot Binary Message";
62 case message_id::multiple_slot_binary_message_with_communications_state
:
63 return "Multiple slot Binary Message with Communication State";
64 case message_id::position_report_for_long_range_applications
:
65 return "Position Report for long range Applications";
70 /// Returns a printable name (in english) for the specified type.
72 /// @param[in] t Ship type to get the name for.
73 /// @return The printable name for the ship type.
74 std::string
to_name(ship_type t
)
77 case ship_type::not_available
:
78 return "Not Available";
79 case ship_type::wing_in_ground
:
80 return "Wing in ground";
81 case ship_type::wing_in_ground_hazardous_cat_a
:
82 return "Wing in ground hazardous Cat A";
83 case ship_type::wing_in_ground_hazardous_cat_b
:
84 return "Wing in ground hazardous Cat B";
85 case ship_type::wing_in_ground_hazardous_cat_c
:
86 return "Wing in ground hazardous Cat C";
87 case ship_type::wing_in_ground_hazardous_cat_d
:
88 return "Wing in ground hazardous Cat D";
89 case ship_type::fishing
:
91 case ship_type::towing
:
93 case ship_type::towing_large
:
94 return "Towing large";
95 case ship_type::dredging_or_underwater_ops
:
96 return "Dredging or underwater ops";
97 case ship_type::diving_ops
:
99 case ship_type::military_ops
:
100 return "Military ops";
101 case ship_type::sailing
:
103 case ship_type::pleasure_craft
:
104 return "Pleasure Craft";
105 case ship_type::high_speed_craft
:
106 return "High speed craft";
107 case ship_type::high_speed_craft_hazardous_cat_a
:
108 return "High speed craft hazardous Cat A";
109 case ship_type::high_speed_craft_hazardous_cat_b
:
110 return "High speed craft hazardous Cat B";
111 case ship_type::high_speed_craft_hazardous_cat_c
:
112 return "High speed craft hazardous Cat C";
113 case ship_type::high_speed_craft_hazardous_cat_d
:
114 return "High speed craft hazardous Cat D";
115 case ship_type::high_speed_craft_no_info
:
116 return "High speed craft no_info";
117 case ship_type::pilot_vessel
:
118 return "Pilot Vessel";
119 case ship_type::search_and_rescue_vessel
:
120 return "Search and Rescue Vessel";
123 case ship_type::port_tender
:
124 return "Port Tender";
125 case ship_type::anti_pollution_equipment
:
126 return "Anti Pollution Equipment";
127 case ship_type::law_enforcement
:
128 return "Law Enforcement";
129 case ship_type::medical_transport
:
130 return "Medical Transport";
131 case ship_type::noncombatant
:
132 return "Noncombatant";
133 case ship_type::passenger
:
135 case ship_type::passenger_hazardous_cat_a
:
136 return "Passenger hazardous Cat A";
137 case ship_type::passenger_hazardous_cat_b
:
138 return "Passenger hazardous Cat B";
139 case ship_type::passenger_hazardous_cat_c
:
140 return "Passenger hazardous Cat C";
141 case ship_type::passenger_hazardous_cat_d
:
142 return "Passenger hazardous Cat D";
143 case ship_type::passenger_no_info
:
144 return "Passenger no info";
145 case ship_type::cargo
:
147 case ship_type::cargo_hazardous_cat_a
:
148 return "Cargo hazardous Cat A";
149 case ship_type::cargo_hazardous_cat_b
:
150 return "Cargo hazardous Cat B";
151 case ship_type::cargo_hazardous_cat_c
:
152 return "Cargo hazardous Cat C";
153 case ship_type::cargo_hazardous_cat_d
:
154 return "Cargo hazardous Cat D";
155 case ship_type::cargo_no_info
:
156 return "Cargo no info";
157 case ship_type::tanker
:
159 case ship_type::tanker_hazardous_cat_a
:
160 return "Tanker hazardous Cat A";
161 case ship_type::tanker_hazardous_cat_b
:
162 return "Tanker hazardous Cat B";
163 case ship_type::tanker_hazardous_cat_c
:
164 return "Tanker hazardous Cat C";
165 case ship_type::tanker_hazardous_cat_d
:
166 return "Tanker hazardous Cat D";
167 case ship_type::tanker_no_info
:
168 return "Tanker no info";
169 case ship_type::other
:
171 case ship_type::other_hazardous_cat_a
:
172 return "Other hazardous Cat A";
173 case ship_type::other_hazardous_cat_b
:
174 return "Other hazardous Cat B";
175 case ship_type::other_hazardous_cat_c
:
176 return "Other hazardous Cat C";
177 case ship_type::other_hazardous_cat_d
:
178 return "Other hazardous Cat D";
179 case ship_type::other_no_info
:
180 return "Other no info";
185 std::string
to_name(epfd_fix_type t
)
188 case epfd_fix_type::undefined
:
190 case epfd_fix_type::gps
:
192 case epfd_fix_type::glonass
:
194 case epfd_fix_type::combined_gps_glonass
:
195 return "Combined GPS GLONASS";
196 case epfd_fix_type::loran_c
:
198 case epfd_fix_type::chayka
:
200 case epfd_fix_type::integrated_navigation_system
:
201 return "Integrated Navigation System";
202 case epfd_fix_type::surveyed
:
204 case epfd_fix_type::galileo
:
210 std::string
to_name(navigation_status t
)
213 case navigation_status::under_way_using_engine
:
214 return "Under way using Engine";
215 case navigation_status::at_anchor
:
217 case navigation_status::not_under_command
:
218 return "Not under Command";
219 case navigation_status::restricted_maneuverability
:
220 return "Restricted Maneuverability";
221 case navigation_status::constrained_by_her_draught
:
222 return "Constrained by her Draught";
223 case navigation_status::moored
:
225 case navigation_status::aground
:
227 case navigation_status::engaged_in_Fishing
:
228 return "Engaged in Fishing";
229 case navigation_status::under_way_sailing
:
230 return "Under way Sailing";
231 case navigation_status::reserved_09
:
233 case navigation_status::reserved_10
:
235 case navigation_status::reserved_11
:
237 case navigation_status::reserved_12
:
239 case navigation_status::reserved_13
:
241 case navigation_status::ais_sart_is_active
:
242 return "AIS SART is Active";
243 case navigation_status::not_defined
:
244 return "Not Defined";
249 std::string
to_name(virtual_aid t
)
252 case virtual_aid::real_aid
:
254 case virtual_aid::virtual_aid
:
255 return "Virtual Aid";
260 std::string
to_name(off_position_indicator t
)
263 case off_position_indicator::on_position
:
264 return "On Position";
265 case off_position_indicator::off_position
:
266 return "Off Position";
271 std::string
to_name(aid_type_id t
)
274 case aid_type_id::unspecified
:
275 return "unspecified";
276 case aid_type_id::reference_point
:
277 return "Reference point";
278 case aid_type_id::racon
:
279 return "RACON (radar transponder marking a navigation hazard)";
280 case aid_type_id::fixed_structure
:
281 return "Fixed structure";
282 case aid_type_id::reserved
:
283 return "Spare, Reserved for future use";
284 case aid_type_id::light_no_sectors
:
285 return "Light, without sectors";
286 case aid_type_id::light_sectors
:
287 return "Light, with sectors";
288 case aid_type_id::leading_light_fromt
:
289 return "Leading Light Front";
290 case aid_type_id::leading_light_rear
:
291 return "Leading Light Rear";
292 case aid_type_id::beacon_cardinal_n
:
293 return "Beacon, Cardinal N";
294 case aid_type_id::beacon_cardinal_e
:
295 return "Beacon, Cardinal E";
296 case aid_type_id::beacon_cardinal_s
:
297 return "Beacon, Cardinal S";
298 case aid_type_id::beacon_cardinal_w
:
299 return "Beacon, Cardinal W";
300 case aid_type_id::beacon_port_hand
:
301 return "Beacon, Port hand";
302 case aid_type_id::beacon_starboard_hand
:
303 return "Beacon, Starboard hand";
304 case aid_type_id::beacon_preferred_channel_port_hand
:
305 return "Beacon, Preferred Channel port hand";
306 case aid_type_id::beacon_preferred_channel_starboard_hand
:
307 return "Beacon, Preferred Channel starboard hand";
308 case aid_type_id::beacon_isolated_danger
:
309 return "Beacon, Isolated danger";
310 case aid_type_id::beacon_safe_water
:
311 return "Beacon, Safe water";
312 case aid_type_id::beacon_sepcial_mark
:
313 return "Beacon, Special mark";
314 case aid_type_id::cardinal_n
:
315 return "Cardinal Mark N";
316 case aid_type_id::cardinal_e
:
317 return "Cardinal Mark E";
318 case aid_type_id::cardinal_s
:
319 return "Cardinal Mark S";
320 case aid_type_id::cardinal_w
:
321 return "Cardinal Mark W";
322 case aid_type_id::mark_port_hand
:
323 return "Port hand Mark";
324 case aid_type_id::mark_starboard_hand
:
325 return "Starboard hand Mark";
326 case aid_type_id::preferred_channel_port_hand
:
327 return "Preferred Channel Port hand";
328 case aid_type_id::preferred_channel_starboard_hand
:
329 return "Preferred Channel Starboard hand";
330 case aid_type_id::isolated_danger
:
331 return "Isolated danger";
332 case aid_type_id::safe_water
:
334 case aid_type_id::special_mark
:
335 return "Special Mark";
336 case aid_type_id::light_vessel
:
337 return "Light Vessel / LANBY / Rigs";
342 std::string
to_name(maneuver_indicator_id t
)
345 case maneuver_indicator_id::not_available
:
346 return "Not Available";
347 case maneuver_indicator_id::normal
:
348 return "Not Special";
349 case maneuver_indicator_id::special
:
355 std::string
to_name(data_terminal t
)
358 case data_terminal::ready
:
360 case data_terminal::not_ready
: