Esempio n. 1
0
File: Client.cs Progetto: tihilv/Vkm
        /// <summary>
        ///     Handle incomming messages
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="message"></param>
        private void OnMessage(object sender, Message message)
        {
            Trace.WriteLine("XMPP: OnMessage: " + message.ToString());

            if (!message.HasTag("event"))
            {
                return;
            }
            // Check for the activity changed data, see here: https://github.com/swissmanu/harmonyhubjs-client/blob/master/docs/protocol/startActivityFinished.md
            var eventElement = message.SelectSingleElement("event");
            var eventData    = eventElement.GetData();

            if (eventData == null)
            {
                return;
            }
            foreach (var pair in eventData.Split(':'))
            {
                if (!pair.StartsWith("activityId"))
                {
                    continue;
                }
                var activityId = pair.Split('=')[1];
                OnActivityChanged?.Invoke(this, activityId);
            }
        }
 //PropertyChanges (generally for UI)
 public void UpdateActivity(string activity, double progress = -1)
 {
     if (Activity != activity)
     {
         ActivityProgress = -1;
         Activity         = activity;
         OnActivityChanged?.Invoke(this, activity);
         TriggerPropChange(nameof(Activity), nameof(IsIdle));
     }
     if (ActivityProgress != progress)
     {
         ActivityProgress = progress;
         TriggerPropChange(nameof(ActivityProgress), nameof(HasActivityProgress));
     }
 }