spring_ai_rs/ai_interface/callback/command/command_data/
lua.rs1use std::ffi::CString;
2
3use spring_ai_sys::{SCallLuaRulesCommand, SCallLuaUICommand};
4
5use crate::ai_interface::callback::command::command_data::{CData, CommandData};
6
7pub struct CallLuaRulesCommandData {
9 pub in_data: CString,
10 pub in_size: i32,
11 pub out_data: CString,
12}
13
14impl CommandData for CallLuaRulesCommandData {
15 type CDataType = SCallLuaRulesCommand;
16
17 fn c_data(&mut self) -> Self::CDataType {
18 SCallLuaRulesCommand {
19 inData: self.in_data.as_ptr(),
20 inSize: self.in_size,
21 ret_outData: self.out_data.clone().into_raw(),
22 }
23 }
24}
25
26impl CData for SCallLuaRulesCommand {}
27
28pub struct CallLuaUICommandData {
30 pub in_data: CString,
31 pub in_size: i32,
32 pub out_data: CString,
33}
34
35impl CommandData for CallLuaUICommandData {
36 type CDataType = SCallLuaUICommand;
37
38 fn c_data(&mut self) -> Self::CDataType {
39 SCallLuaUICommand {
40 inData: self.in_data.as_ptr(),
41 inSize: self.in_size,
42 ret_outData: self.out_data.clone().into_raw(),
43 }
44 }
45}
46
47impl CData for SCallLuaUICommand {}