/// <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(); }
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(); }
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(); }
private void RepositoryManager_OnStatusUpdated(GitStatus status) { CurrentStatus = status; OnStatusUpdated?.Invoke(CurrentStatus); }
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); }
public void ReportStatus(string message) => OnStatusUpdated?.Invoke(this, new RemedyStatusEventArgs(this, message));