rbot_messages/
decode_bindings.rs1#![allow(non_snake_case)]
2use crate::messages::messages as msg;
5
6macro_rules! dec {
7 ($bytes: expr => $msg: ty) => {
8 match serde_json::from_slice::<$msg>($bytes) {
9 Err(_) => <$msg>::default(),
10 Ok(m) => m,
11 }
12 };
13}
14
15#[no_mangle]
16pub extern "C" fn decode_MsgError(bytes_ptr: *const u8, len: u32) -> msg::MsgError {
17 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
18 dec!(bytes => msg::MsgError)
19}
20
21#[no_mangle]
22pub extern "C" fn decode_MsgEmpty(bytes_ptr: *const u8, len: u32) -> msg::MsgEmpty {
23 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
24 dec!(bytes => msg::MsgEmpty)
25}
26
27#[no_mangle]
28pub extern "C" fn decode_MsgUse(bytes_ptr: *const u8, len: u32) -> msg::MsgUse {
29 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
30 dec!(bytes => msg::MsgUse)
31}
32
33#[no_mangle]
34pub extern "C" fn decode_MsgVelocity(bytes_ptr: *const u8, len: u32) -> msg::MsgVelocity {
35 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
36 dec!(bytes => msg::MsgVelocity)
37}
38
39#[no_mangle]
40pub extern "C" fn decode_MsgAngle(bytes_ptr: *const u8, len: u32) -> msg::MsgAngle {
41 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
42 dec!(bytes => msg::MsgAngle)
43}
44
45#[no_mangle]
46pub extern "C" fn decode_MsgComponentStatusQuery(
47 bytes_ptr: *const u8,
48 len: u32,
49) -> msg::MsgComponentStatusQuery {
50 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
51 dec!(bytes => msg::MsgComponentStatusQuery)
52}
53
54#[no_mangle]
55pub extern "C" fn decode_RMsgComponentStatus(
56 bytes_ptr: *const u8,
57 len: u32,
58) -> msg::RMsgComponentStatus {
59 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
60 dec!(bytes => msg::RMsgComponentStatus)
61}
62
63#[no_mangle]
64pub extern "C" fn decode_MsgState(bytes_ptr: *const u8, len: u32) -> msg::MsgState {
65 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
66 dec!(bytes => msg::MsgState)
67}
68
69#[no_mangle]
70pub extern "C" fn decode_RMsgState(bytes_ptr: *const u8, len: u32) -> msg::RMsgState {
71 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
72 dec!(bytes => msg::RMsgState)
73}
74
75#[no_mangle]
76pub extern "C" fn decode_MsgModuleStatusQuery(
77 bytes_ptr: *const u8,
78 len: u32,
79) -> msg::MsgModuleStatusQuery {
80 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
81 dec!(bytes => msg::MsgModuleStatusQuery)
82}
83
84#[no_mangle]
85pub extern "C" fn decode_RMsgModuleStatus(bytes_ptr: *const u8, len: u32) -> msg::RMsgModuleStatus {
86 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
87 dec!(bytes => msg::RMsgModuleStatus)
88}
89
90#[no_mangle]
91pub extern "C" fn decode_MsgTeleport(bytes_ptr: *const u8, len: u32) -> msg::MsgTeleport {
92 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
93 dec!(bytes => msg::MsgTeleport)
94}
95
96#[no_mangle]
97pub extern "C" fn decode_MsgRadar(bytes_ptr: *const u8, len: u32) -> msg::MsgRadar {
98 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
99 dec!(bytes => msg::MsgRadar)
100}
101
102#[no_mangle]
103pub extern "C" fn decode_RMsgRadar(bytes_ptr: *const u8, len: u32) -> msg::RMsgRadar {
104 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
105 dec!(bytes => msg::RMsgRadar)
106}
107
108#[no_mangle]
109pub extern "C" fn decode_MsgLaser(bytes_ptr: *const u8, len: u32) -> msg::MsgLaser {
110 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
111 dec!(bytes => msg::MsgLaser)
112}
113
114#[no_mangle]
115pub extern "C" fn decode_RMsgLaser(bytes_ptr: *const u8, len: u32) -> msg::RMsgLaser {
116 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
117 dec!(bytes => msg::RMsgLaser)
118}
119
120#[no_mangle]
121pub extern "C" fn decode_MsgForceField(bytes_ptr: *const u8, len: u32) -> msg::MsgForceField {
122 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
123 dec!(bytes => msg::MsgForceField)
124}
125
126#[no_mangle]
127pub extern "C" fn decode_MsgMine(bytes_ptr: *const u8, len: u32) -> msg::MsgMine {
128 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
129 dec!(bytes => msg::MsgMine)
130}
131
132#[no_mangle]
133pub extern "C" fn decode_MsgTime(bytes_ptr: *const u8, len: u32) -> msg::MsgTime {
134 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
135 dec!(bytes => msg::MsgTime)
136}
137
138#[no_mangle]
139pub extern "C" fn decode_RMsgTime(bytes_ptr: *const u8, len: u32) -> msg::RMsgTime {
140 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
141 dec!(bytes => msg::RMsgTime)
142}
143
144#[no_mangle]
145pub extern "C" fn decode_MsgRepair(bytes_ptr: *const u8, len: u32) -> msg::MsgRepair {
146 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
147 dec!(bytes => msg::MsgRepair)
148}
149
150#[no_mangle]
151pub extern "C" fn decode_RMsgRepair(bytes_ptr: *const u8, len: u32) -> msg::RMsgRepair {
152 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
153 dec!(bytes => msg::RMsgRepair)
154}
155
156#[no_mangle]
157pub extern "C" fn decode_MsgThrust(bytes_ptr: *const u8, len: u32) -> msg::MsgThrust {
158 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
159 dec!(bytes => msg::MsgThrust)
160}
161
162#[no_mangle]
163pub extern "C" fn decode_MsgScan(bytes_ptr: *const u8, len: u32) -> msg::MsgScan {
164 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
165 dec!(bytes => msg::MsgScan)
166}
167
168#[no_mangle]
169pub extern "C" fn decode_RMsgScanObject(bytes_ptr: *const u8, len: u32) -> msg::RMsgScanObject {
170 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
171 dec!(bytes => msg::RMsgScanObject)
172}
173
174#[no_mangle]
175pub extern "C" fn decode_RMsgScan(bytes_ptr: *const u8, len: u32) -> msg::RMsgScan {
176 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
177 dec!(bytes => msg::RMsgScan)
178}
179
180#[no_mangle]
181pub extern "C" fn decode_MsgGPS(bytes_ptr: *const u8, len: u32) -> msg::MsgGPS {
182 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
183 dec!(bytes => msg::MsgGPS)
184}
185
186#[no_mangle]
187pub extern "C" fn decode_RMsgGPS(bytes_ptr: *const u8, len: u32) -> msg::RMsgGPS {
188 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
189 dec!(bytes => msg::RMsgGPS)
190}
191
192#[no_mangle]
193pub extern "C" fn decode_MsgAwaitAction(bytes_ptr: *const u8, len: u32) -> msg::MsgAwaitAction {
194 let bytes = unsafe { std::slice::from_raw_parts(bytes_ptr, len as usize) };
195 dec!(bytes => msg::MsgAwaitAction)
196}