Beispiel #1
0
        /// <summary>
        /// Constructor
        /// </summary>
        public ProfileForm()
        {
            InitializeComponent();

            // Field initialization
            _req = new LJV7IF_GET_PROFILE_REQ();
        }
Beispiel #2
0
        /// <summary>
        /// Constructor
        /// </summary>
        public ProfileForm()
        {
            InitializeComponent();

            // Field initialization
            _req = new LJV7IF_GET_PROFILE_REQ();
        }
Beispiel #3
0
        public List <DataLib.CartData> GetStoredProfiles()
        {
            try
            {
                var profDataList           = new List <DataLib.CartData> ();
                LJV7IF_GET_PROFILE_REQ req = new LJV7IF_GET_PROFILE_REQ();
                req.byTargetBank = (byte)ProfileBank.Active;
                req.byPosMode    = (byte)ProfilePos.Current;
                req.dwGetProfNo  = 0;
                req.byGetProfCnt = 10;
                req.byErase      = 0;

                LJV7IF_GET_PROFILE_RSP rsp         = new LJV7IF_GET_PROFILE_RSP();
                LJV7IF_PROFILE_INFO    profileInfo = new LJV7IF_PROFILE_INFO();

                int profileDataSize = Define.MAX_PROFILE_COUNT +
                                      (Marshal.SizeOf(typeof(LJV7IF_PROFILE_HEADER)) + Marshal.SizeOf(typeof(LJV7IF_PROFILE_FOOTER))) / Marshal.SizeOf(typeof(int));
                int[] receiveBuffer = new int[profileDataSize * req.byGetProfCnt];


                Rc rc;
                // Get profiles.
                using (PinnedObject pin = new PinnedObject(receiveBuffer))
                {
                    rc = (Rc)NativeMethods.LJV7IF_GetProfile(Define.DEVICE_ID, ref req, ref rsp, ref profileInfo, pin.Pointer,
                                                             (uint)(receiveBuffer.Length * Marshal.SizeOf(typeof(int))));
                }
                // CheckReturnValue(rc);

                // Output the data of each profile
                List <ProfileData> profileDatas = new List <ProfileData>();
                int unitSize = ProfileData.CalculateDataSize(profileInfo);
                for (int i = 0; i < rsp.byGetProfCnt; i++)
                {
                    profileDatas.Add(new ProfileData(receiveBuffer, unitSize * i, profileInfo));
                }
                foreach (var profile in profileDatas)
                {
                    profDataList.Add(profile.GetCartData(_scalingMultiplier));
                }

                return(profDataList);
            }
            catch (Exception)
            {
                throw;
            }
        }