Exemplo n.º 1
0
        public static void DoWork()
        {
            List <LineInfo> Lcheck = Llineinfo.Where(n => n.Type != eChannelType.Empty).ToList();

            if (Lcheck == null || Lcheck.Count == 0)
            {
                return;
            }

            DJDBDK.Tc08a32.PUSH_PLAY();
            DJDBDK.Tc08a32.FeedSigFunc();

            for (int i = 0; i < Lcheck.Count; i++)
            {
                CheckLineState(Lcheck[i]);
                //if (Lcheck[i].Type ==eChannelType.Trunk && Lcheck[i].State !=eChannelState.CH_FREE)
                //{
                //WORD wSigCheckResult=ReadCheckResult(i,PLAY_CHECK);
                //if(wSigCheckResult==R_BUSY)
                //if (DJDBDK.Tc08a32.Sig_CheckBusy(i))
                //{
                //    switch (Lines[i].State)
                //    {

                //        case CH_WELCOME:
                //        case CH_ACCOUNT:
                //        case CH_PASSWORD:
                //        case CH_SELECT:
                //            StopPlayFile(i);
                //            break;
                //        case CH_PLAYRESULT:
                //            StopIndexPlayFile(i);
                //            break;
                //    }
                //    ResetChannel(i);
                //}
                //}
                //else if (Lines[i].nType == CHTYPE_USER && Lines[i].State != CH_FREE)
                //{
                //    if (!RingDetect(i))
                //    {
                //        switch (Lines[i].State)
                //        {

                //            case CH_WELCOME:
                //            case CH_ACCOUNT:
                //            case CH_PASSWORD:
                //            case CH_SELECT:
                //                StopPlayFile(i);
                //                break;
                //            case CH_PLAYRESULT:
                //                StopIndexPlayFile(i);
                //                break;
                //        }
                //        yzResetChannel(i);
                //    }
                //}
            }
        }
Exemplo n.º 2
0
        public static eCardState InitCh()
        {
            _ChNumTotal = DJDBDK.Tc08a32.CheckValidCh();

            for (int i = 0; i < _ChNumTotal; i++)
            {
                eChannelType chType  = (eChannelType)Enum.Parse(typeof(eChannelType), DJDBDK.Tc08a32.CheckChType(i).ToString());
                LineInfo     NewLine = new LineInfo();

                NewLine.Type  = chType;
                NewLine.iChID = i;
                Llineinfo.Add(NewLine);
            }
            _CardStatus = (eCardState)Enum.Parse(typeof(eCardState), DJDBDK.Tc08a32.EnableCard(ChNumTotal, 1024 * ChNumTotal).ToString());

            if (CardStatus != eCardState.Success)
            {
                FreeDrv();
            }

            _ChNumAvailable = Llineinfo.Where(n => n.Type != eChannelType.Empty).ToList().Count;
            return(CardStatus);
        }
Exemplo n.º 3
0
 public static void FreeDrv()
 {
     DJDBDK.Tc08a32.DisableCard();
     DJDBDK.Tc08a32.FreeDRV();
     Llineinfo.Clear();
 }