1use super::ObjectQuery;
2use crate::sysex::AnySysexType;
3
4#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
5pub struct RawQuery {
7 sysex_type: u8,
8 device_id: u8,
9 object_number: u16,
10}
11
12impl RawQuery {
13 pub const fn new(sysex_type: u8, object_number: u16) -> Self {
15 Self {
16 sysex_type,
17 device_id: 0,
18 object_number,
19 }
20 }
21
22 pub const fn new_with_device_id(sysex_type: u8, device_id: u8, object_number: u16) -> Self {
24 Self {
25 sysex_type,
26 device_id,
27 object_number,
28 }
29 }
30}
31
32impl ObjectQuery for RawQuery {
33 fn sysex_type(&self) -> AnySysexType {
34 self.sysex_type.into()
35 }
36
37 fn device_id(&self) -> u8 {
38 self.device_id
39 }
40
41 fn obj_nr(&self) -> u16 {
42 self.object_number
43 }
44}