spring_ai_rs/ai_interface/callback/command/command_data/
other.rs1use std::ffi::CString;
2
3use spring_ai_sys::{SPauseCommand, SSetLastPosMessageCommand};
4
5use crate::ai_interface::callback::command::command_data::{CData, CommandData};
6
7pub struct SetLastPosMessageCommandData {
9 pub position: [f32; 3],
10}
11
12impl CommandData for SetLastPosMessageCommandData {
13 type CDataType = SSetLastPosMessageCommand;
14
15 fn c_data(&mut self) -> Self::CDataType {
16 SSetLastPosMessageCommand {
17 pos_posF3: self.position.as_mut_ptr(),
18 }
19 }
20}
21
22impl CData for SSetLastPosMessageCommand {}
23
24pub struct PauseCommandData {
26 pub enable: bool,
27 pub reason: CString,
28}
29
30impl CommandData for PauseCommandData {
31 type CDataType = SPauseCommand;
32
33 fn c_data(&mut self) -> Self::CDataType {
34 SPauseCommand {
35 enable: self.enable,
36 reason: self.reason.as_ptr(),
37 }
38 }
39}
40
41impl CData for SPauseCommand {}