flic_rust_client/commands/
mod.rs

1pub mod stream_mapper;
2
3use super::enums::LatencyMode;
4
5/// Commands
6
7pub enum Command {
8    GetInfo,
9    CreateScanner {
10        scan_id: u32,
11    },
12    RemoveScanner {
13        scan_id: u32,
14    },
15    CreateConnectionChannel {
16        conn_id: u32,
17        bd_addr: String,
18        latency_mode: LatencyMode,
19        auto_disconnect_time: i16,
20    },
21    RemoveConnectionChannel {
22        conn_id: u32,
23    },
24    ForceDisconnect {
25        bd_addr: String,
26    },
27    ChangeModeParameters {
28        conn_id: u32,
29        latency_mode: LatencyMode,
30        auto_disconnect_time: i16,
31    },
32    Ping {
33        ping_id: u32,
34    },
35    GetButtonInfo {
36        bd_addr: String,
37    },
38    CreateScanWizard {
39        scan_wizard_id: u32,
40    },
41    CancelScanWizard {
42        scan_wizard_id: u32,
43    },
44    DeleteButton {
45        bd_addr: String,
46    },
47    CreateBatteryStatusListener {
48        listener_id: u32,
49        bd_addr: String,
50    },
51    RemoveBatteryStatusListener {
52        listener_id: u32,
53    },
54}
55
56impl Command {
57    pub fn opcode(&self) -> u8 {
58        match self {
59            Self::GetInfo { .. } => 0,
60            Self::CreateScanner { .. } => 1,
61            Self::RemoveScanner { .. } => 2,
62            Self::CreateConnectionChannel { .. } => 3,
63            Self::RemoveConnectionChannel { .. } => 4,
64            Self::ForceDisconnect { .. } => 5,
65            Self::ChangeModeParameters { .. } => 6,
66            Self::Ping { .. } => 7,
67            Self::GetButtonInfo { .. } => 8,
68            Self::CreateScanWizard { .. } => 9,
69            Self::CancelScanWizard { .. } => 10,
70            Self::DeleteButton { .. } => 11,
71            Self::CreateBatteryStatusListener { .. } => 12,
72            Self::RemoveBatteryStatusListener { .. } => 13,
73        }
74    }
75}