Inheritance: IBackgroundTransfer
コード例 #1
0
        /// <inheritdoc/>
        public async Task <IBackgroundTransfer> CreateAsync(IUnixDirectoryEntry targetDirectory, string fileName, Stream data, CancellationToken cancellationToken)
        {
            var targetFolderItem = ((OneDriveDirectoryEntry)targetDirectory).Item;
            var tempData         = await _supportFactory.CreateTemporaryData(data, cancellationToken);

            var targetId          = GetFileId(targetFolderItem.Id, fileName);
            var backgroundUploads = new BackgroundUpload(targetId, targetFolderItem.Id, fileName, tempData, this);
            await _uploadsLock.WaitAsync(cancellationToken);

            try
            {
                var fileId = GetFileId(targetFolderItem.Id, fileName);
                _uploads.Add(fileId, backgroundUploads);
            }
            finally
            {
                _uploadsLock.Release();
            }
            return(backgroundUploads);
        }
コード例 #2
0
        /// <inheritdoc/>
        public async Task <IBackgroundTransfer> ReplaceAsync(IUnixFileEntry fileEntry, Stream data, CancellationToken cancellationToken)
        {
            var fileItem = ((OneDriveFileEntry)fileEntry).Item;
            var parentId = fileItem.ParentReference.Id;
            var fileName = fileItem.Name;
            var tempData = await _supportFactory.CreateTemporaryData(data, cancellationToken);

            var targetId          = GetFileId(parentId, fileName);
            var backgroundUploads = new BackgroundUpload(targetId, parentId, fileName, tempData, this);
            await _uploadsLock.WaitAsync(cancellationToken);

            try
            {
                var fileId = GetFileId(parentId, fileName);
                _uploads.Add(fileId, backgroundUploads);
            }
            finally
            {
                _uploadsLock.Release();
            }
            return(backgroundUploads);
        }
コード例 #3
0
 /// <inheritdoc/>
 public async Task<IBackgroundTransfer> ReplaceAsync(IUnixFileEntry fileEntry, Stream data, CancellationToken cancellationToken)
 {
     var fileItem = ((OneDriveFileEntry)fileEntry).Item;
     var parentId = fileItem.ParentReference.Id;
     var fileName = fileItem.Name;
     var tempData = await _supportFactory.CreateTemporaryData(data, cancellationToken);
     var targetId = GetFileId(parentId, fileName);
     var backgroundUploads = new BackgroundUpload(targetId, parentId, fileName, tempData, this);
     await _uploadsLock.WaitAsync(cancellationToken);
     try
     {
         var fileId = GetFileId(parentId, fileName);
         _uploads.Add(fileId, backgroundUploads);
     }
     finally
     {
         _uploadsLock.Release();
     }
     return backgroundUploads;
 }
コード例 #4
0
 /// <inheritdoc/>
 public async Task<IBackgroundTransfer> CreateAsync(IUnixDirectoryEntry targetDirectory, string fileName, Stream data, CancellationToken cancellationToken)
 {
     var targetFolderItem = ((OneDriveDirectoryEntry)targetDirectory).Item;
     var tempData = await _supportFactory.CreateTemporaryData(data, cancellationToken);
     var targetId = GetFileId(targetFolderItem.Id, fileName);
     var backgroundUploads = new BackgroundUpload(targetId, targetFolderItem.Id, fileName, tempData, this);
     await _uploadsLock.WaitAsync(cancellationToken);
     try
     {
         var fileId = GetFileId(targetFolderItem.Id, fileName);
         _uploads.Add(fileId, backgroundUploads);
     }
     finally
     {
         _uploadsLock.Release();
     }
     return backgroundUploads;
 }