private Result CleanupPreviousReader() { try { //Might need to release manager device listener mAidcBarcodeReader?.RemoveBarcodeListener(mBarcodeEventHandler); mAidcBarcodeReader?.Release(); if (mReaderOpened) { mAidcBarcodeReader?.Close(); mReaderOpened = false; } mAidcBarcodeReader?.Dispose(); mAidcBarcodeReader = null; return(new Result(Result.Codes.SUCCESS, "Reader released.")); } catch (Java.Lang.Exception ex) { return(new Result(Result.Codes.EXCEPTION, ex.Message)); } catch (Exception ex) { return(new Result(Result.Codes.EXCEPTION, ex.Message)); } }
protected Dictionary <string, object> GetDefaultProperties(Com.Honeywell.Aidc.BarcodeReader reader) { var result = new Dictionary <string, object>(); foreach (var pair in reader.AllDefaultProperties) { result.Add(pair.Key, ObjectTypeHelper.ConvertJavaObjectToSettingValue(pair.Value)); } return(result); }
private Result OpenReader(string scannerName, Context context) { var result = new Result(Result.Codes.SUCCESS, "Reader successfully claimed."); if (!mReaderOpened) { try { if (mAidcBarcodeReader == null) { lock (mOpenLock) { var manager = BarcodeReaderManager.Create(context); if (manager != null) { mAidcManager = manager.Init(); mAidcBarcodeReader = mAidcManager.CreateBarcodeReader(scannerName); try { mAidcBarcodeReader.SetProperty("TRIG_CONTROL_MODE", "autoControl"); } catch (Com.Honeywell.Aidc.UnsupportedPropertyException) { result.Code = Result.Codes.INTERNAL_ERROR; result.Message = "Failed to set trigger control mode."; } if (result.Code == Result.Codes.SUCCESS) { mBarcodeEventHandler = new BarcodeEventHandler(this); mAidcBarcodeReader.AddBarcodeListener(mBarcodeEventHandler); } } else { result.Code = Result.Codes.INTERNAL_ERROR; result.Message = "Manager has been disposed."; } } } if (result.Code == Result.Codes.SUCCESS) { try { mAidcBarcodeReader.Claim(); mReaderOpened = true; BarcodeReaderProfileHandler.Instance.LoadProfileOccurred += LoadProfileOccurred; } catch (Com.Honeywell.Aidc.ScannerUnavailableException) { result.Code = Result.Codes.INTERNAL_ERROR; result.Message = "Reader is not available."; } } } catch (Java.Lang.Exception ex) { result.Code = Result.Codes.EXCEPTION; result.Message = ex.Message; } catch (Exception ex) { result.Code = Result.Codes.EXCEPTION; result.Message = ex.Message; } } else { result.Code = Result.Codes.READER_ALREADY_OPENED; result.Message = "Reader was already opened."; } return(result); }