string GetStateTxt(EStateId state, string tag) { if (tag == "release") { return("Release "); } if (tag == "transfer") { return("Transfer "); } if (tag == "conference") { return("Conference "); } switch (state) { case EStateId.ACTIVE: if (tag == "hold") { return("Hold "); } break; case EStateId.ALERTING: return("Accept "); case EStateId.HOLDING: if (tag == "hold") { return("Retrieve "); } break; case EStateId.INCOMING: return("Accept "); } return(""); }
/// <summary> /// Change state by state id /// </summary> /// <param name="stateId">state id</param> internal override void ChangeState(EStateId stateId) { switch (stateId) { case EStateId.IDLE: ChangeState(_stateIdle); break; case EStateId.CONNECTING: ChangeState(_stateCalling); break; case EStateId.ALERTING: ChangeState(_stateAlerting); break; case EStateId.ACTIVE: ChangeState(_stateActive); break; case EStateId.RELEASED: ChangeState(_stateReleased); break; case EStateId.INCOMING: ChangeState(_stateIncoming); break; case EStateId.HOLDING: ChangeState(_stateHolding); break; case EStateId.TERMINATED: ChangeState(_stateTerminated); break; } // inform manager if ((null != _manager) && (Session != -1) && (DisableStateNotifications == false)) { _manager.updateGui(this.Session); } }
public void AddState(EStateId eStateId, IState state) { if (!_states.ContainsKey(eStateId)) { _states.Add(eStateId, state); } }
public static string GetCallState(EStateId type) { switch (type) { case EStateId.ACTIVE: return("Active Call."); case EStateId.ALERTING: return("Ringing.."); case EStateId.CONNECTING: return("Connectiong.."); case EStateId.HOLDING: return("Waiting.."); case EStateId.IDLE: return("Idle"); case EStateId.INCOMING: return("Incoming Call.."); case EStateId.NULL: return("Ready."); case EStateId.RELEASED: return("Released."); case EStateId.TERMINATED: return("Terminated."); default: return(""); } }
public IStateMachine getCallInState(EStateId stateId) { List <IStateMachine> calls = this[stateId]; if (calls.Count == 0) { return(new NullStateMachine()); } return(calls[0]); }
public int getNoCallsInState(EStateId stateId) { int cnt = 0; foreach (KeyValuePair <int, CStateMachine> kvp in _calls) { if (stateId == kvp.Value.getStateId()) { cnt++; } } return(cnt); }
/// <summary> /// Collect statemachines being in a given state /// </summary> /// <param name="stateId">state machine state</param> /// <returns>List of state machines</returns> public ICollection <CStateMachine> enumCallsInState(EStateId stateId) { List <CStateMachine> list = new List <CStateMachine>(); foreach (KeyValuePair <int, CStateMachine> kvp in _calls) { if (stateId == kvp.Value.getStateId()) { list.Add(kvp.Value); } } return(list); }
public int getNoCallsInState(EStateId stateId) { int num = 0; foreach (KeyValuePair <int, IStateMachine> pair in this._calls) { if (stateId == pair.Value.State.Id) { num++; } } return(num); }
public ICollection <IStateMachine> enumCallsInState(EStateId stateId) { List <IStateMachine> list = new List <IStateMachine>(); foreach (KeyValuePair <int, IStateMachine> pair in this._calls) { if (stateId == pair.Value.State.Id) { list.Add(pair.Value); } } return(list); }
public IStateMachine getCallInState(EStateId stateId) { if (this._calls.Count != 0) { foreach (KeyValuePair <int, IStateMachine> pair in this._calls) { if (pair.Value.State.Id == stateId) { return(pair.Value); } } } return(new NullStateMachine()); }
public List <IStateMachine> this[EStateId stateId] { get { List <IStateMachine> calls = new List <IStateMachine>(); foreach (KeyValuePair <int, IStateMachine> call in _calls) { if (call.Value.State.Id == stateId) { calls.Add(call.Value); } } return(calls); } }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="stateId"></param> /// <returns></returns> public CStateMachine getCallInState(EStateId stateId) { if (_calls.Count == 0) { return(null); } foreach (KeyValuePair <int, CStateMachine> call in _calls) { if (call.Value.getStateId() == stateId) { return(call.Value); } } return(null); }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="stateId"></param> /// <returns></returns> public IStateMachine getCallInState(EStateId stateId) { if (_calls.Count == 0) { return(new NullStateMachine()); } foreach (KeyValuePair <int, IStateMachine> call in _calls) { if (call.Value.State.Id == stateId) { return(call.Value); } } return(new NullStateMachine()); }
/// <summary> /// Enable or disable menu items regarding to call state... /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void contextMenuStripCalls_Opening(object sender, CancelEventArgs e) { // Hide all items... foreach (ToolStripMenuItem mi in contextMenuStripCalls.Items) { mi.Visible = false; } if (listViewCallLines.SelectedItems.Count > 0) { ListViewItem lvi = listViewCallLines.SelectedItems[0]; if (SipekResources.CallManager.Count <= 0) { return; } else { EStateId stateId = ((CStateMachine)lvi.Tag).StateId; switch (stateId) { case EStateId.INCOMING: acceptToolStripMenuItem.Visible = true; transferToolStripMenuItem.Visible = true; break; case EStateId.ACTIVE: holdRetrieveToolStripMenuItem.Text = "Hold"; holdRetrieveToolStripMenuItem.Visible = true; transferToolStripMenuItem.Visible = true; //sendMessageToolStripMenuItem.Visible = true; attendedTransferToolStripMenuItem.Visible = true; break; case EStateId.HOLDING: holdRetrieveToolStripMenuItem.Text = "Retrieve"; holdRetrieveToolStripMenuItem.Visible = true; break; } } // call releaseToolStripMenuItem.Visible = true; } }
private void contextMenuStripCalls_Opening(object sender, CancelEventArgs e) { try { if (listViewCallLines.SelectedItems.Count == 0) { e.Cancel = true; return; } ListViewItem lvi = listViewCallLines.SelectedItems[0]; EStateId stateId = ((CStateMachine)lvi.Tag).StateId; acceptToolStripMenuItem.Visible = stateId == EStateId.INCOMING; holdRetrieveToolStripMenuItem.Visible = stateId == EStateId.ACTIVE || stateId == EStateId.HOLDING; holdRetrieveToolStripMenuItem.Text = stateId == EStateId.ACTIVE ? "Hold Call" : "Retrieve Call"; releaseToolStripMenuItem.Visible = true; releaseToolStripMenuItem.Text = "Release Call"; transferCallToolStripMenuItem.Visible = stateId == EStateId.ACTIVE || stateId == EStateId.INCOMING; } catch { } }
public void ChangeState(EStateId eStateId) { IState localState; if (_states.TryGetValue(eStateId, out localState)) { if (_nowState != localState) { if (_nowState != null) { _previousState = _nowState; if (_previousState != null) { _previousState.Exit(); } } _nowState = localState; _nowState.Enter(); } } }
public void changeState(EStateId stateId) { switch (stateId) { case EStateId.IDLE: changeState(_stateIdle); break; case EStateId.CONNECTING: changeState(_stateCalling); break; case EStateId.ALERTING: changeState(_stateAlerting); break; case EStateId.ACTIVE: changeState(_stateActive); break; case EStateId.RELEASED: changeState(_stateReleased); break; case EStateId.INCOMING: changeState(_stateIncoming); break; case EStateId.HOLDING: changeState(_stateHolding); break; } if (null != _manager) { _manager.updateGui(); } }
public ICollection <IStateMachine> enumCallsInState(EStateId stateId) { return(this[stateId]); }
public override void changeState(EStateId stateId) { ; }
/// <summary> /// Change state by state id /// </summary> /// <param name="stateId">state id</param> internal override void ChangeState(EStateId stateId) { switch (stateId) { case EStateId.IDLE: ChangeState(_stateIdle); break; case EStateId.CONNECTING: ChangeState(_stateCalling); break; case EStateId.ALERTING: ChangeState(_stateAlerting); break; case EStateId.ACTIVE: ChangeState(_stateActive); break; case EStateId.RELEASED: ChangeState(_stateReleased); break; case EStateId.INCOMING: ChangeState(_stateIncoming); break; case EStateId.HOLDING: ChangeState(_stateHolding); break; case EStateId.TERMINATED: ChangeState(_stateTerminated); break; } // inform manager if ((null != _manager) && (Session != -1) && (DisableStateNotifications == false)) _manager.updateGui(this.Session); }
public void changeState(EStateId stateId) { switch (stateId) { case EStateId.IDLE: changeState(_stateIdle); break; case EStateId.CONNECTING: changeState(_stateCalling); break; case EStateId.ALERTING: changeState(_stateAlerting); break; case EStateId.ACTIVE: changeState(_stateActive); break; case EStateId.RELEASED: changeState(_stateReleased); break; case EStateId.INCOMING: changeState(_stateIncoming); break; case EStateId.HOLDING: changeState(_stateHolding); break; } if (null != _manager) _manager.updateGui(); }
public abstract void changeState(EStateId stateId);
/// <summary> /// Collect statemachines being in a given state /// </summary> /// <param name="stateId">state machine state</param> /// <returns>List of state machines</returns> public ICollection<CStateMachine> enumCallsInState(EStateId stateId) { List<CStateMachine> list = new List<CStateMachine>(); foreach (KeyValuePair<int, CStateMachine> kvp in _calls) { if (stateId == kvp.Value.getStateId()) { list.Add(kvp.Value); } } return list; }
/// <summary> /// Set state /// </summary> public void SetState(EStateId stateId) { print("SetState = " + stateId); if(!_states.ContainsKey(stateId)) { print ("State " + stateId + " does not exist"); return; } if(_currentState != null) { if(_currentState.StateId != stateId) { _currentState.Deactivate(); _currentState = null; } } StateBase nState = _states[stateId]; _currentState = nState; _currentState.Activate(); }
public int getNoCallsInState(EStateId stateId) { return this[stateId].Count; }
internal abstract void ChangeState(EStateId stateId);
public IStateMachine getCallInState(EStateId stateId) { List<IStateMachine> calls = this[stateId]; if (calls.Count == 0) { return new NullStateMachine(); } return calls[0]; }
public ICollection<IStateMachine> enumCallsInState(EStateId stateId) { return this[stateId]; }
public List<IStateMachine> this[EStateId stateId] { get { List<IStateMachine> calls = new List<IStateMachine>(); foreach (KeyValuePair<int, IStateMachine> call in _calls) { if (call.Value.State.Id == stateId) { calls.Add( call.Value ); } } return calls; } }
public VExpState(EStateId id, VExpression owner) : base((int)id, owner) { }
public int getNoCallsInState(EStateId stateId) { int cnt = 0; foreach (KeyValuePair<int, CStateMachine> kvp in _calls) { if (stateId == kvp.Value.getStateId()) { cnt++; } } return cnt; }
public int getNoCallsInState(EStateId stateId) { return(this[stateId].Count); }
internal override void ChangeState(EStateId stateId) { ; }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="stateId"></param> /// <returns></returns> public IStateMachine getCallInState(EStateId stateId) { if (_calls.Count == 0) return new NullStateMachine(); foreach (KeyValuePair<int, IStateMachine> call in _calls) { if (call.Value.State.Id == stateId) return call.Value; } return new NullStateMachine(); }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="stateId"></param> /// <returns></returns> public CStateMachine getCallInState(EStateId stateId) { if (_calls.Count == 0) return null; foreach (KeyValuePair<int, CStateMachine> call in _calls) { if (call.Value.getStateId() == stateId) return call.Value; } return null; }
public List <IStateMachine> this[EStateId stateId] { get { return(SearchCalls(s => s.State.Id == stateId)); } }
/// <summary> /// Initialise a new instance of the class /// </summary> public StateBase(EStateId stateId) { _stateId = stateId; }