spring_ai_rs/ai_interface/callback/command/
options.rs1use spring_ai_sys::{
2 UnitCommandOptions as UnitCommandOptions_Sys, UnitCommandOptions_UNIT_COMMAND_OPTION_ALT_KEY,
3 UnitCommandOptions_UNIT_COMMAND_OPTION_CONTROL_KEY,
4 UnitCommandOptions_UNIT_COMMAND_OPTION_INTERNAL_ORDER,
5 UnitCommandOptions_UNIT_COMMAND_OPTION_RIGHT_MOUSE_KEY,
6 UnitCommandOptions_UNIT_COMMAND_OPTION_SHIFT_KEY,
7};
8
9#[derive(Copy, Clone, Debug)]
10pub enum UnitCommandOptions {
11 AltKey,
12 ControlKey,
13 ShiftKey,
14 InternalOrder,
15 RightMouseKey,
16}
17
18#[allow(non_upper_case_globals)]
19impl From<UnitCommandOptions_Sys> for UnitCommandOptions {
20 fn from(command_topic_sys: UnitCommandOptions_Sys) -> Self {
21 match command_topic_sys {
22 UnitCommandOptions_UNIT_COMMAND_OPTION_ALT_KEY => UnitCommandOptions::AltKey,
23 UnitCommandOptions_UNIT_COMMAND_OPTION_CONTROL_KEY => UnitCommandOptions::ControlKey,
24 UnitCommandOptions_UNIT_COMMAND_OPTION_SHIFT_KEY => UnitCommandOptions::ShiftKey,
25 UnitCommandOptions_UNIT_COMMAND_OPTION_INTERNAL_ORDER => {
26 UnitCommandOptions::InternalOrder
27 }
28 UnitCommandOptions_UNIT_COMMAND_OPTION_RIGHT_MOUSE_KEY => {
29 UnitCommandOptions::RightMouseKey
30 }
31 _ => unimplemented!(),
32 }
33 }
34}
35
36#[allow(non_upper_case_globals)]
37impl From<UnitCommandOptions> for UnitCommandOptions_Sys {
38 fn from(command_topic_sys: UnitCommandOptions) -> Self {
39 match command_topic_sys {
40 UnitCommandOptions::AltKey => UnitCommandOptions_UNIT_COMMAND_OPTION_ALT_KEY,
41 UnitCommandOptions::ControlKey => UnitCommandOptions_UNIT_COMMAND_OPTION_CONTROL_KEY,
42 UnitCommandOptions::ShiftKey => UnitCommandOptions_UNIT_COMMAND_OPTION_SHIFT_KEY,
43 UnitCommandOptions::InternalOrder => {
44 UnitCommandOptions_UNIT_COMMAND_OPTION_INTERNAL_ORDER
45 }
46 UnitCommandOptions::RightMouseKey => {
47 UnitCommandOptions_UNIT_COMMAND_OPTION_RIGHT_MOUSE_KEY
48 }
49 }
50 }
51}