Beispiel #1
0
        private void OnCallStateChanged(object sender, CallStateEventArgs e)
        {
            if (this.InvokeRequired)
            {
                EventHandler <CallStateEventArgs> eh = OnCallStateChanged;
                this.BeginInvoke(eh, new object[] { sender, e });
                return;
            }

            TapiLine line = (TapiLine)sender;
            TapiCall call = e.Call;

            foreach (ListViewItem lvi in lvCalls.Items)
            {
                if (lvi.Tag == call)
                {
                    lvi.SubItems[COLUMNS_STATE].Text = call.CallState.ToString();
                    if (GetActiveCall() == call)
                    {
                        AdjustButtonState(call);
                    }

                    if (call.CallState == CallState.Idle)
                    {
                        call.Dispose();
                        lvCalls.Items.Remove(lvi);
                    }
                    break;
                }
            }
        }
Beispiel #2
0
        private void ActiveCallForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            try
            {
                _call.Drop();
            }
            catch
            {
            }

            _call.Line.CallInfoChanged  -= OnCallInfoChange;
            _call.Line.CallStateChanged -= OnCallStateChange;

            try
            {
                _call.Dispose();
            }
            catch
            {
            }
        }