Exemplo n.º 1
0
        private void StartNextUpload()
        {
            _curTransfer = null;

            if (_files.Count < 1)
            {
                _isRunning = false;
                _reset.Set();
                return;
            }

            foreach (FileTransfer ft in _files)
            {
                if (ft.Progress < 100)
                {
                    _curTransfer = ft;
                    break;
                }
            }

            if (_curTransfer != null)
            {
                _curTransfer.Status = FileTransferStatus.InProgress;
                _wc.UploadFileAsync(new Uri(_uploadLocation), _curTransfer.FullPath);
            }
            else
            {
                Thread.Sleep(300);
            }
        }
Exemplo n.º 2
0
 private void OnFileDequeued(FileTransfer Transfer)
 {
     if (Transfer.Status == FileTransferStatus.InProgress)
     {
         _wc.CancelAsync();
     }
     else
     {
         _files.Remove(Transfer);
     }
 }
Exemplo n.º 3
0
 public void DequeueFileTransfer(FileTransfer Transfer)
 {
     _entryDispatcher.Invoke(DispatcherPriority.Normal, _fileDequeuedEvent, Transfer);
 }
Exemplo n.º 4
0
 private void OnFileEnqueued(FileTransfer Transfer)
 {
     Transfer.Status = FileTransferStatus.Queued;
     _files.Add(Transfer);
     _uploadThread.Start(_entryDispatcher);
 }
Exemplo n.º 5
0
 public void AddTransfer(FileTransfer Transfer)
 {
     _transfers.Add(Transfer);
     Transfer.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(Transfer_PropertyChanged);
     StartTransfer();
 }