public void Reset(RangeMsg <TlfIaDestination> msg) { Debug.Assert((msg.From >= NumDestinations) && (msg.From + msg.Count <= NumDestinations + NumIaDestinations)); for (int i = 0; i < msg.Count; i++) { TlfIaDestination info = msg.Info[i]; TlfDst dst = _Dst[i + msg.From]; dst.Reset(info); // 29112016. JCAM. Poder intruir una llamada prioritaria desde AI if (info.State == TlfState.Idle && IntrudeTo.IsIntrudingTo && IntrudeTo.To == dst.Dst) { IntrudeTo.Reset(); } if (dst.PrevState != dst.State) { _NumDstInState[(int)dst.PrevState]--; _NumDstInState[(int)dst.State]++; Debug.Assert(_NumDstInState[(int)dst.PrevState] >= 0); Debug.Assert(_NumDstInState[(int)dst.State] >= 0); _Unhang.CheckTlfStChanged(dst); _Priority.CheckTlfStChanged(dst); } } General.SafeLaunchEvent(TlfChanged, this, (RangeMsg)msg); if ((_Transfer.State == FunctionState.Ready) && (_NumDstInState[(int)TlfState.Set] + _NumDstInState[(int)TlfState.Conf] != 1)) { _Transfer.State = FunctionState.Idle; } }
public void Reset(RangeMsg <TlfState> msg) { for (int i = 0; i < msg.Count; i++) { TlfDst dst = _Dst[i + msg.From]; dst.Reset(msg.Info[i]); if (msg.Info[i] == TlfState.Idle && IntrudeTo.IsIntrudingTo && IntrudeTo.To == dst.Dst) { IntrudeTo.Reset(); } if (i + msg.From == IaMappedPosition) { _Unhang.CheckTlfStChanged(dst); } if (dst.PrevState != dst.State) { _NumDstInState[(int)dst.PrevState]--; _NumDstInState[(int)dst.State]++; Debug.Assert(_NumDstInState[(int)dst.PrevState] >= 0); Debug.Assert(_NumDstInState[(int)dst.State] >= 0); _Priority.CheckTlfStChanged(dst); } } General.SafeLaunchEvent(TlfChanged, this, (RangeMsg)msg); if ((_Transfer.State == FunctionState.Ready) && (_NumDstInState[(int)TlfState.Set] + _NumDstInState[(int)TlfState.Conf] != 1)) { _Transfer.State = FunctionState.Idle; } }