From c2bc2327238fc6833be861379e214661bfb391ae Mon Sep 17 00:00:00 2001 From: Johannes Rudolph Date: Sat, 13 Jan 2018 14:28:02 +0100 Subject: scanner-session: add getCodeType() --- src/scanner-session/scannersession-interface.vala | 9 +++++++++ src/scanner-session/scannersession.vala | 22 ++++++++++++++++++++++ 2 files changed, 31 insertions(+) (limited to 'src') diff --git a/src/scanner-session/scannersession-interface.vala b/src/scanner-session/scannersession-interface.vala index 89498df..9f989e7 100644 --- a/src/scanner-session/scannersession-interface.vala +++ b/src/scanner-session/scannersession-interface.vala @@ -24,3 +24,12 @@ public enum MessageType { WARNING, ERROR } + +public enum ScannerSessionCodeType { + USER, + GUEST, + UNDO, + LOGOUT, + EAN, + UNKNOWN +} diff --git a/src/scanner-session/scannersession.vala b/src/scanner-session/scannersession.vala index eeb02e3..23db939 100644 --- a/src/scanner-session/scannersession.vala +++ b/src/scanner-session/scannersession.vala @@ -78,6 +78,28 @@ public class ScannerSessionImplementation { return true; } + private ScannerSessionCodeType getCodeType(string scannerdata){ + if(scannerdata.has_prefix("USER ")){ + return ScannerSessionCodeType.USER; + } else if(scannerdata == "GUEST") { + return ScannerSessionCodeType.GUEST; + } else if(scannerdata == "UNDO") { + return ScannerSessionCodeType.UNDO; + } else if(scannerdata == "LOGOUT") { + return ScannerSessionCodeType.LOGOUT; + } else { + //Handle EAN Code + uint64 id = 0; + scannerdata.scanf("%llu", out id); + + /* check if scannerdata has valid format */ + if(scannerdata != "%llu".printf(id) && scannerdata != "%08llu".printf(id) && scannerdata != "%013llu".printf(id)) { + return ScannerSessionCodeType.UNKNOWN; + } + return ScannerSessionCodeType.EAN; + } + } + private void play_audio(AudioType audioType){ switch (audioType) { case AudioType.ERROR: -- cgit v1.2.3