bnr_xfs/xfs/
operation_id.rs1use std::fmt;
2
3use crate::impl_xfs_enum;
4
5const OFFSET: u32 = 6106;
6const DENOMINATE: u32 = 6107;
7const DISPENSE: u32 = 6108;
8const QUERY_CASH_UNIT: u32 = 6114;
9const RESET: u32 = 6117;
10const UPDATE_CASH_UNIT: u32 = 6118;
11const GET_DATE_TIME: u32 = 6119;
12const SET_DATE_TIME: u32 = 6120;
13const QUERY_DENOMINATIONS: u32 = 6181;
14const UPDATE_DENOMINATIONS: u32 = 6182;
15const CASH_IN_START: u32 = 6121;
16const CASH_IN: u32 = 6122;
17const CASH_IN_END: u32 = 6123;
18const CASH_IN_ROLLBACK: u32 = 6124;
19const EMPTY: u32 = 6125;
20const PRESENT: u32 = 6126;
21const REJECT: u32 = 6127;
22const RETRACT: u32 = 6128;
23const CASHUNIT_CHANGED: u32 = 6153;
24const CASHUNIT_THRESHOLD: u32 = 6155;
25
26#[repr(u32)]
28#[derive(Clone, Copy, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
29pub enum OperationId {
30 #[default]
31 Offset = OFFSET,
32 Denominate = DENOMINATE,
33 Dispense = DISPENSE,
34 QueryCashUnit = QUERY_CASH_UNIT,
35 Reset = RESET,
36 UpdateCashUnit = UPDATE_CASH_UNIT,
37 GetDateTime = GET_DATE_TIME,
38 SetDateTime = SET_DATE_TIME,
39 QueryDenominations = QUERY_DENOMINATIONS,
40 UpdateDenominations = UPDATE_DENOMINATIONS,
41 CashInStart = CASH_IN_START,
42 CashIn = CASH_IN,
43 CashInEnd = CASH_IN_END,
44 CashInRollback = CASH_IN_ROLLBACK,
45 Empty = EMPTY,
46 Present = PRESENT,
47 Reject = REJECT,
48 Retract = RETRACT,
49 CashUnitChanged = CASHUNIT_CHANGED,
50 CashUnitThreshold = CASHUNIT_THRESHOLD,
51}
52
53impl OperationId {
54 pub const fn new() -> Self {
56 Self::Offset
57 }
58
59 pub const fn create(val: u32) -> Self {
61 match val {
62 OFFSET => Self::Offset,
63 DENOMINATE => Self::Denominate,
64 DISPENSE => Self::Dispense,
65 QUERY_CASH_UNIT => Self::QueryCashUnit,
66 RESET => Self::Reset,
67 UPDATE_CASH_UNIT => Self::UpdateCashUnit,
68 GET_DATE_TIME => Self::GetDateTime,
69 SET_DATE_TIME => Self::SetDateTime,
70 QUERY_DENOMINATIONS => Self::QueryDenominations,
71 UPDATE_DENOMINATIONS => Self::UpdateDenominations,
72 CASH_IN_START => Self::CashInStart,
73 CASH_IN => Self::CashIn,
74 CASH_IN_END => Self::CashInEnd,
75 CASH_IN_ROLLBACK => Self::CashInRollback,
76 EMPTY => Self::Empty,
77 PRESENT => Self::Present,
78 REJECT => Self::Reject,
79 RETRACT => Self::Retract,
80 CASHUNIT_CHANGED => Self::CashUnitChanged,
81 CASHUNIT_THRESHOLD => Self::CashUnitThreshold,
82 _ => Self::Offset,
83 }
84 }
85}
86
87impl fmt::Display for OperationId {
88 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
89 write!(f, "{}", self.inner())
90 }
91}
92
93impl_xfs_enum!(OperationId, "operationId");