internal void TriggerStateChanged(ICQClient sender, ICQClientState oldState, Exception error) { if (this.StateChanged != null) { var eventArgs = new ICQClientStateEventArgs(oldState, sender.State, error); this.StateChanged(sender, eventArgs); } }
internal ICQClientStateEventArgs(ICQClientState old, ICQClientState news, Exception error) { OldState = old; NewState = news; Error = error; }
private void changeState(ICQClientState newState, Exception error = null) { if (newState == ICQClientState.Idle && this.Connection.IsConnected) this.Connection.Disconnect(0); if (this.State != newState) { var oldState = this.State; this.State = newState; this.Events.TriggerStateChanged(this, oldState, error); } }