Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        /// <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);
        }