flic_rust_client/commands/
mod.rs1pub mod stream_mapper;
2
3use super::enums::LatencyMode;
4
5pub 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}