private Task Init2() { lock (_monitorState) { if (_initTask != null) { return(_initTask.Task); } switch (State) { case DownloadState.Initializing: case DownloadState.Initialized: case DownloadState.Downloading: case DownloadState.Finished: return(Task.FromResult(0)); } _initTask = new TaskCompletionSource <object>(); _state = DownloadState.Initializing; _cancellationTokenSource = new CancellationTokenSource(); } DownloadStateChanged?.Invoke(this, new EventArgs()); return(Init3()); }
private void SetDownloadState(AbstractDownloadableObject o, DownloadState newState) { if (o.state != newState) { DownloadStateChangedEventArgs args = new DownloadStateChangedEventArgs(o.state, newState); o.state = newState; DownloadStateChanged?.Invoke(o, args); } }
//--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\ #region --Set-, Get- Methods-- #endregion //--------------------------------------------------------Misc Methods:---------------------------------------------------------------\\ #region --Misc Methods (Public)-- public void onStateChanged() { DownloadStateChanged?.Invoke(this, new DownloadStateChangedEventArgs(state)); }
protected void RaiseDownloadStateChanged(DownloadProgress p) => DownloadStateChanged?.Invoke(this, new ProgressEventArgs(p));
public bool DownloadEqual(DownloadStateChanged args, DownloadHandle download) { return(args.ClientId is string s && ((string[])download.ClientMetadata["SabnzbdId"]).Contains(s)); }
public bool DownloadEqual(DownloadStateChanged args, DownloadHandle download) { return(args.ClientId is int i && (int)download.ClientMetadata["TransmissionTorrentId"] == i); }