Example #1
0
        /// <summary>
        /// Polls the ride offer status until the status is matched or becomes null.
        /// </summary>
        /// <returns>The for status async.</returns>
        async Task PollForStatusAsync(CancellationToken cancellationToken)
        {
            T status = null;

            do
            {
                try
                {
                    await Task.Delay(PollTime, cancellationToken);
                }
                catch (TaskCanceledException)
                {
                }

                cancellationToken.ThrowIfCancellationRequested();

                T newStatus = await statusGetter.GetStatusAsync();

                if (status == null && newStatus == null)
                {
                    throw new Exception("No status to poll");
                }

                if ((status == null) != (newStatus == null) || status.Version != newStatus.Version)
                {
                    status = newStatus;
                    OnStatusUpdated?.Invoke(status);
                }
            } while (status != null);

            StopTracking();
        }
        private void UpdateGitStatus()
        {
            Logger.Trace("Updating Git Status");

            var task = GitClient.Status()
                       .Finally((success, ex, data) =>
            {
                if (success && data.HasValue)
                {
                    OnStatusUpdated?.Invoke(data.Value);
                }
                Logger.Trace("Updated Git Status");
            });

            HookupHandlers(task).Start();
        }
Example #3
0
        private void UpdateGitStatus()
        {
            Logger.Trace("Updating Git Status");

            var task = GitClient.Status()
                       .Finally((success, ex, data) =>
            {
                Logger.Trace($"GitStatus update: {success} {(data.HasValue ? data.Value.ToString() : "null")}");
                if (success && data.HasValue)
                {
                    OnStatusUpdated?.Invoke(data.Value);
                }
                Logger.Trace("Updated Git Status");
            });

            HookupHandlers(task).Start();
        }
Example #4
0
        private void UpdateGitStatus()
        {
            Logger.Trace("Updating Git Status");

            var task = GitClient.Status()
                       .Finally((success, ex, data) =>
            {
                Logger.Trace($"GitStatus update: {success} {data}");
                if (success)
                {
                    OnStatusUpdated?.Invoke(data);
                    Logger.Trace("Updated Git Status");
                }
            });

            HookupHandlers(task).Start();
        }
Example #5
0
 private void RepositoryManager_OnStatusUpdated(GitStatus status)
 {
     CurrentStatus = status;
     OnStatusUpdated?.Invoke(CurrentStatus);
 }
Example #6
0
 protected void ReportStatus(string message, Status?status, int progress = -1)
 => OnStatusUpdated?.Invoke(this, new CheckupStatusEventArgs(this, message, status, progress));
 public void UpdateStatus(string status)
 {
     OnStatusUpdated?.Invoke(this, status);
 }
Example #8
0
 public void ReportStatus(string message)
 => OnStatusUpdated?.Invoke(this, new RemedyStatusEventArgs(this, message));