Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
        //--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\
        #region --Set-, Get- Methods--


        #endregion
        //--------------------------------------------------------Misc Methods:---------------------------------------------------------------\\
        #region --Misc Methods (Public)--
        public void onStateChanged()
        {
            DownloadStateChanged?.Invoke(this, new DownloadStateChangedEventArgs(state));
        }
Exemplo n.º 4
0
 protected void RaiseDownloadStateChanged(DownloadProgress p)
 => DownloadStateChanged?.Invoke(this, new ProgressEventArgs(p));
Exemplo n.º 5
0
 public bool DownloadEqual(DownloadStateChanged args, DownloadHandle download)
 {
     return(args.ClientId is string s && ((string[])download.ClientMetadata["SabnzbdId"]).Contains(s));
 }
Exemplo n.º 6
0
 public bool DownloadEqual(DownloadStateChanged args, DownloadHandle download)
 {
     return(args.ClientId is int i && (int)download.ClientMetadata["TransmissionTorrentId"] == i);
 }