示例#1
0
        private void OnCallStateX(CallManager mgr, CallStateEvent cs)
        {
            ListViewItem item;

            if (!lv.Items.ContainsKey(cs.PbxId))
            {
                item     = lv.Items.Add(cs.PbxId, cs.From, 0);
                item.Tag = cs;
                item.SubItems.Add(cs.CallId);
                item.SubItems.Add(cs.PbxId);
                item.SubItems.Add(cs.State.ToString());
                item.SubItems.Add(cs.From);
                item.SubItems.Add(cs.Destination);
            }
            else
            {
                item = lv.Items[cs.PbxId];
            }

            item.SubItems[1].Text = cs.CallId;
            item.SubItems[3].Text = cs.State.ToString();
            item.SubItems[4].Text = cs.Destination;

            if (cs.State == CallState.Disconnected)
            {
                lv.Items.RemoveByKey(cs.PbxId);
            }
        }
示例#2
0
 private void OnCallState(CallManager mgr, CallStateEvent cs)
 {
     if (lv.InvokeRequired)
     {
         BeginInvoke((MethodInvoker) delegate { OnCallStateX(mgr, cs); });
     }
     else
     {
         OnCallStateX(mgr, cs);
     }
 }