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); // } //} } }
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); }
public static void FreeDrv() { DJDBDK.Tc08a32.DisableCard(); DJDBDK.Tc08a32.FreeDRV(); Llineinfo.Clear(); }