Пример #1
0
        /// <summary>
        ///     reserve a new sector to the application. look for free sector in the given MAD
        /// </summary>
        /// <param name="appId">id of the application</param>
        /// <param name="whichMad">
        ///     MAD that will be scanned
        ///     Any = scan MAD and MAD2 if available
        ///     MAD = scan MAD only
        ///     MAD2 = scan MAD2 only
        /// </param>
        /// <returns>index of the reserved sector or -1 if no sectors found</returns>
        /// <remarks>may throw CardLoginException and CardReadException</remarks>
        public async Task <int> AddAppId(int appId, ApplicationMad whichMad = ApplicationMad.Any)
        {
            var sector = -1;

            if ((whichMad == ApplicationMad.Any) || (whichMad == ApplicationMad.Mad))
            {
                await InitMad();

                if (mad != null)
                {
                    sector = mad.AddAppId(appId);
                    if (sector != -1)
                    {
                        return(sector);
                    }
                }
            }

            if ((whichMad == ApplicationMad.Any) || (whichMad == ApplicationMad.Mad2))
            {
                await InitMad2();

                if (mad2 != null)
                {
                    sector = mad2.AddAppId(appId);
                    if (sector != -1)
                    {
                        return(sector);
                    }
                }
            }

            return(-1);
        }
Пример #2
0
        /// <summary>
        ///     reserve a new sector to the application. look for free sector in the given MAD
        /// </summary>
        /// <param name="appId">id of the application</param>
        /// <param name="whichMad">
        ///     MAD that will be scanned
        ///     Any = scan MAD and MAD2 if available
        ///     MAD = scan MAD only
        ///     MAD2 = scan MAD2 only
        /// </param>
        /// <returns>index of the reserved sector or -1 if no sectors found</returns>
        /// <remarks>may throw CardLoginException and CardReadException</remarks>
        public async Task<int> AddAppId(int appId, ApplicationMad whichMad = ApplicationMad.Any)
        {
            var sector = -1;

            if ((whichMad == ApplicationMad.Any) || (whichMad == ApplicationMad.Mad))
            {
                await InitMad();
                if (mad != null)
                {
                    sector = mad.AddAppId(appId);
                    if (sector != -1)
                        return sector;
                }
            }

            if ((whichMad == ApplicationMad.Any) || (whichMad == ApplicationMad.Mad2))
            {
                await InitMad2();
                if (mad2 != null)
                {
                    sector = mad2.AddAppId(appId);
                    if (sector != -1)
                        return sector;
                }
            }

            return -1;
        }