summaryrefslogtreecommitdiffstats
path: root/src/scanner-session/scannersession.vala
diff options
context:
space:
mode:
authorJohannes Rudolph <johannes.rudolph@gmx.com>2018-01-13 14:28:02 +0100
committerSebastian Reichel <sre@ring0.de>2018-06-28 01:52:53 +0200
commitc2bc2327238fc6833be861379e214661bfb391ae (patch)
treeb3bf838a9d93e726d9cbe3d2b702b8172138c29e /src/scanner-session/scannersession.vala
parentfe7729489370800a1a24ad4a0b6adf7d95979daf (diff)
downloadserial-barcode-scanner-c2bc2327238fc6833be861379e214661bfb391ae.tar.bz2
scanner-session: add getCodeType()
Diffstat (limited to 'src/scanner-session/scannersession.vala')
-rw-r--r--src/scanner-session/scannersession.vala22
1 files changed, 22 insertions, 0 deletions
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: