/// <summary> /// Signal called when presence changes for the peer user. /// </summary> private void OnPeerPresenceUpdated(ProviderUser user) { string msg; Banter.SystemMessage systemMessage = null; // no handlers? exit if (MessageReceived == null) { return; } string displayName = (user.Alias != null) ? user.Alias.Split(' ')[0] : user.Uri; if (user.Presence.Type == Banter.PresenceType.Offline) { msg = String.Format("{0} has gone {1}", displayName, user.Presence.Name); systemMessage = new Banter.SystemMessage(msg); } else { if (user.Presence.Message != null && user.Presence.Message != String.Empty && user.Presence.Message != lastPeerPresence.Message) { msg = String.Format( "{0} is {1} \"{2}\"", displayName, user.Presence.Name, user.Presence.Message); systemMessage = new Banter.SystemMessage(msg); } else { msg = String.Format("{0} is {1}", displayName, user.Presence.Name); systemMessage = new Banter.SystemMessage(msg); } } lastPeerPresence = user.Presence; // Indicate the message to registered handlers if (systemMessage != null) { MessageReceived(this, systemMessage); } }
/// <summary> /// Signal called when presence changes for the peer user. /// </summary> private void OnPeerPresenceUpdated(ProviderUser user) { string msg; Banter.SystemMessage systemMessage = null; // no handlers? exit if (MessageReceived == null) return; string displayName = (user.Alias != null) ? user.Alias.Split (' ')[0] : user.Uri; if (user.Presence.Type == Banter.PresenceType.Offline) { msg = String.Format("{0} has gone {1}", displayName, user.Presence.Name); systemMessage = new Banter.SystemMessage (msg); } else { if (user.Presence.Message != null && user.Presence.Message != String.Empty && user.Presence.Message != lastPeerPresence.Message) { msg = String.Format( "{0} is {1} \"{2}\"", displayName, user.Presence.Name, user.Presence.Message); systemMessage = new Banter.SystemMessage (msg); } else { msg = String.Format("{0} is {1}", displayName, user.Presence.Name); systemMessage = new Banter.SystemMessage (msg); } } lastPeerPresence = user.Presence; // Indicate the message to registered handlers if (systemMessage != null) MessageReceived (this, systemMessage); }