Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }