private void OnChannelStatusChanged(object sender, ChannelStatusChangedEventArgs e) { var channel = sender as Channel; Console.WriteLine($"channel {channel.Id}, created by {channel.UserName} status {e.Status}"); Console.WriteLine($"channel city {channel.Location.City}, country {channel.Location.Country}"); }
private void Sensor_ChannelStatusesChanged(object sender, ChannelStatusChangedEventArgs e) { string pads = string.Empty; graphics.Clear(); for (int i = 0; i < e.ChannelStatus.Count; i++) { if (e.ChannelStatus[(Mpr121.Channels)i] == true) { pads += i + ", "; graphics.DrawRectangle((i % 4) * rectW, (i / 4) * rectH, rectW, rectH, Meadow.Foundation.Color.Cyan, true); } } if (string.IsNullOrEmpty(pads)) { Console.WriteLine("none"); graphics.DrawText(0, 0, "none", Meadow.Foundation.Color.Cyan); } else { Console.WriteLine(pads + "touched"); } graphics.Show(); }
void Switch_OnChannelStatusChanged(object sender, ChannelStatusChangedEventArgs e) { ThreadPool.QueueUserWorkItem(new WaitCallback(obj => { var channel = _resources.Channels.FirstOrDefault(c => c.Id == e.Address); if (channel == null) { return; } channel.ApplyChanges(e); var disconnectedClients = new List <Client>(); foreach (var client in _resources.GetActiveClients()) { try { client.Callback.OnChannelStatusChanged(e); } catch { disconnectedClients.Add(client); } } disconnectedClients.ForEach(OnClientDisconnected); // ktra do chuong this.IsRinging = _resources.Channels.Any(c => (c.HostPhone.MultiDestEnabled || c.HostPhone.AlertEnabled) && c.LineStatus == eLineStatus.Ring); })); }
void SensorChannelStatusesChanged(object sender, ChannelStatusChangedEventArgs e) { graphics.Clear(); graphics.Stroke = 1; for (int i = 0; i < e.ChannelStatus.Count; i++) { int numpadIndex = 0; for (int columns = 0; columns < 3; columns++) { for (int rows = 3; rows >= 0; rows--) { if (numpadIndex == i) { if (e.ChannelStatus[(Mpr121.Channels)i]) { graphics.DrawRectangle(columns * 57 + 38, rows * 57 + 10, 51, 51, Meadow.Foundation.Color.Cyan, true); } else { graphics.DrawRectangle(columns * 57 + 38, rows * 57 + 10, 51, 51, true); } } numpadIndex++; } } } graphics.Show(); }
public override void OnChannelStatusChanged(ChannelStatusChangedEventArgs e) { base.OnChannelStatusChanged(e); if (!e.Handled) { CheckOutgoingCall(); } }
public override void OnChannelStatusChanged(ChannelStatusChangedEventArgs e) { ProcessMessageInController(e); if (e.Handled) { return; } }
public override void OnChannelStatusChanged(ChannelStatusChangedEventArgs e) { if (e.Address == this.Channel.HostPhone.Address) { this.Channel.ApplyChanges(e); SaveLog(); e.Handled = true; } }
protected override void OnLineStatusChanged(LineStatusMessageBase msg) { if (msg.Type == eLineStatusType.PO_Status || msg.Type == eLineStatusType.PO_Tone) { var e = new POStatusChangedEventArgs(msg.Address); if (msg.Type == eLineStatusType.PO_Status) { e.Status = (((POStatusMessage)msg).Status == eStatus.On) ? ePOStatus.OffHook : ePOStatus.OnHook; } else { e.Tone = ((NumberReceivedMessage)msg).Number; } if (this.OnPOStatusChanged != null) { OnPOStatusChanged(this, e); } } else { var e = new ChannelStatusChangedEventArgs(msg.Address); switch (msg.Type) { case eLineStatusType.Line: var lmsg = msg as LineStatusMessage; e.Status = lmsg.Status; break; case eLineStatusType.Revert: break; case eLineStatusType.Tone: case eLineStatusType.CallerId: var nmsg = msg as NumberReceivedMessage; if (msg.Type == eLineStatusType.Tone) { e.Tone = nmsg.Number; } else { e.CallerId = nmsg.Number; } break; } if (this.OnChannelStatusChanged != null) { OnChannelStatusChanged(this, e); } } }
void OnChannelStatusChangedHandler(ChannelStatusChangedEventArgs e) { if (this.MainController != null) { this.MainController.OnChannelStatusChanged(e); } if (this.Channels != null) { var ringChannels = this.Channels.Items.Where(c => c.LineStatus == eLineStatus.Ring && IsChannelUsable(c)); this.IsRinging = ringChannels.Any(); } }
public virtual void ApplyChanges(ChannelStatusChangedEventArgs e, bool applyTone = true) { if (e.Status.HasValue) { this.LineStatus = e.Status.Value; } if (applyTone && !string.IsNullOrEmpty(e.Tone)) { this.Tone = e.Tone; } if (!string.IsNullOrEmpty(e.CallerId)) { this.CallerId = e.CallerId; } }
private void Sensor_ChannelStatusesChanged(object sender, ChannelStatusChangedEventArgs e) { string pads = string.Empty; for (int i = 0; i < e.ChannelStatus.Count; i++) { if (e.ChannelStatus[(Mpr121.Channels)i] == true) { pads += i + ", "; } } if (string.IsNullOrEmpty(pads)) { Console.WriteLine("none"); } else { Console.WriteLine(pads + "touched"); } }
public override void OnChannelStatusChanged(ChannelStatusChangedEventArgs e) { ProcessMessageInController(e); if (e.Handled) { return; } var channel = this.ClientApp.GetChannels(p => p.Id == e.Address).FirstOrDefault(); if (channel != null) { // disable unused channel if ((this.ClientApp.WorkingMode == eWorkingMode.Alert && channel.HostPhone.AlertEnabled == false) || (this.ClientApp.WorkingMode == eWorkingMode.MultiDest && channel.HostPhone.MultiDestEnabled == false)) { channel.LineStatus = eLineStatus.Disconnect; channel.Status = ePhoneStatus.Disconnect; } else { var applyTone = channel.SelectedPanelId == ClientApp.ClientId; if (applyTone == false) { applyTone = this.GetController(channel) != null; } channel.ApplyChanges(e, applyTone); if (!string.IsNullOrEmpty(e.CallerId) && channel.LineStatus == eLineStatus.Ring) { var u = this.ClientApp.Units.Search(e.CallerId, channel.AreaCode); if (u != null && u.SelectedPanelId == null) { u.Status = ePhoneStatus.Ring; } } } } }
public override void OnChannelStatusChanged(ChannelStatusChangedEventArgs e) { if (e.Address != Channel.Id) { return; } if (AlertStatus == AlertMemberStatus.CanNotConnect) { // TODO: notify or writelog return; } bool isWaitingForKeycode = AlertStatus == AlertMemberStatus.WaitForKeycode && !string.IsNullOrEmpty(Unit.Password); if (isWaitingForKeycode && (e.Tone?.Contains(Unit.Password) ?? false)) { AlertStatus = AlertMemberStatus.WaitForCommand; e.Handled = true; } base.OnChannelStatusChanged(e); }
public virtual void OnChannelStatusChanged(ChannelStatusChangedEventArgs e) { }
private void Afs_StatusChanged(object sender, ChannelStatusChangedEventArgs args) { Debug.WriteLine(args.Status); }
void INovaAlertServiceCallback.OnChannelStatusChanged(ChannelStatusChangedEventArgs e) { Application.Current.Dispatcher.Invoke(_priority, new Action <ChannelStatusChangedEventArgs>(OnChannelStatusChangedHandler), e); }
private void OnDeviceChannelStatusChanged(object sender, ChannelStatusChangedEventArgs e) { DeviceChannelStatusChanged?.Invoke(sender, e); }